欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python网络爬虫(一)requests库介绍

程序员文章站 2022-07-14 11:08:49
...


    requests.request(method,url,**kwargs)
python网络爬虫(一)requests库介绍

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

相关标签: python爬虫 python