python网络爬虫(一)requests库介绍
程序员文章站
2022-07-14 11:08:49
...
文章目录
requests.request(method,url,**kwargs)
1、method
method | 说明 |
---|---|
request() | 构造请求,支撑以下各方法的基础方法 |
get() | 获取HTML网页的主要方法,对应于HTTP的GET |
head() | 获取HTML网页头信息的方法,对应于HTTP的HEAD |
post() | 向HTML网页提交POST请求的方法,对应于HTTP的POST |
put() | 向HTML网页提交PUT请求的方法,对应于HTTP的PUT |
patch() | 向HTML网页提交局部修改请求,对应于HTTP的PATCH |
delete() | 向HTML页面提交删除请求,对应于HTTP的DELETE |
2、返回值:response对象
response对象的属性字段如下表所示:
属性 | 说明 |
---|---|
r.status_code | HTTP请求的返回状态,200表示连接成功,404表示失败 |
r.text | HTTP响应内容的字符串形式,即url对应的页面内容 |
r.encoding | 从HTTP header中猜测的响应内容编码方式 |
r.apparent_encoding | 从内容中分析出的响应内容编码方式(备选编码方式) |
r.content | HTTP响应内容的二进制形式 |
3、**Kwargs可选参数
参数名 | 说明 |
---|---|
params | 字典或字节序列,作为参数增加到url中 |
data | 字典、字节序列或文件对象,作为Request的内容 |
json | JSON格式的数据,作为Request的内容 |
headers | 字典,HTTP定制头 |
cookies | 字典或CookieJar,Request中的cookie |
auth | 元组,支持HTTP认证功能 |
files | 字典类型,传输文件 |
timeout | 设定超时时间,秒为单位 |
proxies | 字典类型,设定访问代理服务器,可以增加登录认证 |
allow_redirects | True/False,默认为True,重定向开关 |
stream | True/False,默认为True,获取内容立即下载开关 |
verify | True/False,默认为True,认证SSL证书开关 |
cert | 本地SSL证书路径 |
(1)params
作用:字典或字节序列,作为参数增加到url中
kv = {'key1': 'value1', 'key2': 'value2'}
r = requests.request('GET', 'http://python123.io/ws', params=kv)
print(r.url)
r.url = http://python123.io/ws?key1=value1&key2=value2
(2)data
作用:字典、字节序列或文件对象,作为Request的内容
kv = {'key1': 'value1', 'key2': 'value2'}
r = requests.request('POST', 'http://python123.io/ws', data=kv)
body = '主体内容'
r = requests.request('POST', 'http://python123.io/ws', data=body)
(3)json
kv = {'key1': 'value1'}
r = requests.request('POST', 'http://python123.io/ws', json=kv)
(4)headers
hd = {'user‐agent': 'Chrome/10'}
r = requests.request('POST', 'http://python123.io/ws', headers=hd)
4、爬取网页的通用代码框架
def getHTMLText(url):
try:
r = requests.get(url,timeout=30)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return "异常"
5、Robots协议
Robots Exclusion Standard,网络爬虫排除标准
作用:网站告知网络爬虫哪些页面可以抓取,哪些不行
形式:在网站根目录下的robots.txt文件
例如:https://www.jd.com/robots.txt