Requests库
Requests库的7个主要方法
方法 | 说明 |
---|
requests.request | 构造一个请求,支撑一下各方法的基础方法 |
requests.get() | 获取HTML网页的主要方法,对应HTTP的GET方法 |
requests.head() | 获取HTML网页头信息方法,对应HTTP的HEAD |
requests.post() | 向HTML网页提交POST请求的方法,对应于HTTP的POST |
requests.put() | 向HTML网页提交PUT请求的方法,对应HTTP的PUT |
requests.patch() | 向HTML网页提交局部修改请求,对应于HTTP的PATCH |
requests.delete() | 向HTML页面提交删除请求,对应于HTTP的DELETE |
Response对象的属性
方法 | 说明 |
---|
r.status_code | HTTP请求的返回状态,200表示连接成功,404表示失败 |
r.text | HTTP响应内容的字符串形式,即url对应的页面内容 |
r.encoding | 从HTTP header中猜测的想用内容编码方式 |
r.apparent_encoding | 从内容中分析出的响应内容编码方式(备选编码方式) |
r.content | HTTP响应内容的二进制形式 |
requests.request(method,url,**kwargs)
- params:字典或字节序列,作为参数添加到url中
- data:字典、字节序列或者文件对象,作为Request的内容
- json:JSON格式的数据,作为Reques的内容
- headers:字典,HTTP定制头
- cookies:字典或CookieJar,Request中的Cookie
- auth:元组,支持HTTP认证功能
- files:字典类型,传输文件
- timeout:设定超时时间,秒为单位
- proxies:字典类型,设定访问代理服务器,可以增加登录认证
- allow_redirects:True/False 默认为True,重定向开关
- stream:True/False 默认为True,认证SSL证书开关
- cert:本地SSL证书路径
Re库
正则表达式的常见标识符
操作符 | 说明 | 实例 |
---|
. | 表示任何单个字符 | |
[] | 字符集,对单个字符给出取值范围 | [abc]表示a,b,c |
[^] | 非字符集,对单个字符给出排除范围 | [^abc]表示非a或b或c的单个字符 |
* | 前一个字符0次或无限次扩展 | abc*表示ab,abc,abcc等 |
+ | 前一个字符1次或无限次扩展 | abc+表示abc,abcc,abccc等 |
? | 前一个字符0次或者1次扩展 | abc?表示ab,abc |
I | 左右表达式任意一个 | abc |
{m} | 扩展前一个字符m次 | ab{2}c表示abbc |
{m,n} | 扩展前一个字符m至n次(含a) | ab{1,2}c表示abc,abbc |
^ | 匹配字符串开头 | ^abc表示abc且在一个字符串的开头 |
$ | 匹配字符串结尾 | abc$表示abc且在一个字符串的结尾 |
() | 分组标记,内部只能使用I操作符 | (abc)表示abc |
\d | 数字,等价于[0-9] | |
\w | 单词字符,等价于[A-z,a-z,0-9] | |
Re库的主要功能函数
函数 | 说明 |
---|
re.search() | 在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象 |
re.match() | 从一个字符串的开始位置起匹配正则表达式,返回match对象 |
re.findall() | 搜索字符串,以列表类型返回全部能匹配的子串 |
re.split() | 将一个字符串按照正则表达式匹配结果进行分割,返回列表类型 |
re.finditer() | 搜索字符串,返回一个匹配结果的迭代类型,每个迭代元素是match对象 |
re.sub() | 在一个字符串中替换所有匹配正则表达式的字串,返回替换后的字符串 |
XPAH语法
XPATH:XML路径语言,它是一门在XML文档中查找信息的语言。它最初是用来搜寻XML文档的,但是它同样适用于HTML文档的搜索
表达式 | 描述 |
---|
nodename | 选取此节点的所有子节点 |
/ | 从根节点选取 |
// | 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置 |
. | 选取当前节点 |
. . | 选取当前节点的父节点 |
@ | 选取属性 |
通配符 | 描述 |
---|
* | 匹配任何元素节点 |
@* | 匹配任何属性节点 |
node() | 匹配任何类型的节点 |