Request库使用方式:
r=requests.get(url,headers,params,proxies,timeout,verify)
url:链接,网站的的地址
headers:上传的头部信息,一般用来UA伪装,即用来改变客户端的登录信息和Cookie信息来维持登录状态
header={'User-Agent':'Mozilla/5.0','Cookie':'...'}
params:用于添加参数,即额外信息 比如百度要搜索的关键词可以params添加
params={'wd':'Python'}
r=requests.get('http://www.baidu.com/s',params=parasm) ### https://www.baidu.com/s?wd=python
proxies:用于ip伪装(避免频繁请求导致ip被封)
r=request.post(url,headers,params,data,files)
proxies={'http':'112.195.243.6','https':'162.115.212.6'}
page_text=requests.get('https://www.baidu.com/s?wd=ip',headers=header,proxies=proxies).text
5.timeout:超时请求,即超过这个时间还没有响应结果就报错
6.verify:忽略CA证书
post请求很常用 一般网页不是静态网页 会通过POST请求到JSON数据
百度翻译用的就是POST请求 以下为浏览器的抓包工具获取关键信息
data={'kw':word}
r=requests.post(url=post_url,headers=headers,data=data)
files为文件上传
当我们获得一个Rsponse对象时 r=requests.get(url,headers,params)
r.status_code 可查看状态嘛 404丢失 200成功
r.headers 可查看状态头
r.text 可查看url对于的页面内容(html)
r.encoding 内容编码方式 r.encoding='utf-8'
r.apparent_enconding 自动分析编码方式 可以和r.encoding一起使用
r.encoding=r.apparent_enconding
注意:
我们在网页上爬取的图片,视频,音频等都是二进制数据,我们保存这些数据时应采取二进制进行保存