Requuests 官方的介绍时多么的霸气,之所以那么霸气,是因为 Requestts 相比于 urllib 在使用方面上会让开发者感到更加的人性化、更加简洁、更加舒适,并且国外的一些公司也在使用requests库。
看看他又那些特性:
。Keep-Alive & 连接池
。国际化域名和 URI
。带持久 Cookie 的会话
。浏览器式的 SSL认证
。自动内容解码
。基本/摘要式的身份认证
。优雅的key/value Cookie
。自动解压
。Unicode 响应体
。HTTP(S)代理支持
。文件分块上传
。流下载
。连接超时
· 。分块请求
。支持.netrc
1、简单的专抓取页面
import requests # 使用 get 请求方式 response = requests.get("https://tieba.baidu.com/") print(response.text)
# 使用 post 方式请求
response = requests.post("https://tieba.baidu.com/")
print(response.text)
2、使用代理
有些网站做了浏览器频率限制。如果我们请求该网站频率过高,该网站会封掉我们的 IP,禁止我们的访问,所以我们需要使用代理来突破这“枷锁”。这里需要用到 proxies参数,proxies 也是一个字典类型。具体用法如下
imports url = "http://tieba.baidu.com/" proxies = { "http":"web-proxy.oa.com:8080", "https":"web-proxy.oa.com:8080" # 若你的代理需要使用 HTTP Basic Auth,可以使用 http://password@host/语法 } response = requests.get(url, proxies = proxies) print(response.text) print(response.url)
3、使用 Cookie
想在响应结果中获取 cookie 的一些值,可以直接访问。
response。cookies[‘key‘] # key 为 Cookie 字典中键
想发送 cookie 到服务器,可以使用 cookies 参数。同样该参数是字典类型
url = ‘http://httpin.org/cookies/‘ cookies = {"domain":‘httpin.org‘,} response = requests.get(url, cookies = cookies) print(response.text)
原文:https://www.cnblogs.com/jcjc/p/11124992.html