- 请求方式
判断URL是否带参数,可以对符号“?”判断。一般网址末端(域名)带有“?”,就说明URL是带有请求参数的,反之则不带有参数。GET参数说明如下:
(1)wd是参数名,参数名由网站(服务器)规定。
(2)python是参数值,可由用户自行设置。
(3)如果一个URL有多个参数。参数之间用“&”连接。
两种请求方式:
import requests
# 第一种方式
r = requests.get("https://y.qq.com/s?wd=python")
# 第二种方式
url = 'https://y.qq.com/s'
params = {'wd': 'python'}
# 左边params在GET请求中表示设置参数
r = requests.get(url, params = params)
# 输出生成的URL
print(r.url)
一般第一种方式代码更好,代码简洁。
Request是Python的一个很实用的Http客户端库。可完全满足如今编写网络爬虫程序的需要,是爬虫开发人员的首选的爬虫库。
主要就是掌握GET和POST请求时的语法,如下:
import requests
url = 'https://baidu.com/'
# Get 请求
r = requests.get(url,headers = headers,
proxies = proxies, verify = False, cookies = cookies)
#POST 请求
r = requests.get(url, data = data, files = files,
headers = headers, proxies = proxies,
verify = False, cookies = cookies)
Requests的GET和POST将请求中所需要使用的功能都以参数的形式直接作用到请求中。一个发送请求的语句就已经包含了请求头、代理IP、Cookies、证书验证、文件上传等功能。
另外,Request还提供了r.status_code、r.raw、r.content、r.text、r.headers、r.json()、r.raise_for_status()、r.url、r.cookies、r.encoding 10种方法获取响应内容。
Requests-Cache 爬虫缓存