标签:响应 欺骗 .com 代理 ber 返回 data 弊端 也会
问题:为什么要学习requests,而不是urllib?
作用:发送网络请求,返回响应数据
中文文档 API:http://docs.python-requests.org/zh_CN/latest/index.html
需求:通过requests向百度首页发送请求,获取百度首页的数据
response = request.get(url)
response的常用方法:
模拟浏览器,欺骗服务器,获取和浏览器一致的内容
什么叫做请求参数
例1:http://www.webkaka.com/tutorial/server/2015/021013/
例2:https://www.baidu.com/s?wd=python&c=b
用法:
reponse = requests.post("http://www.baidu.com/", data=data, headers=headers)
data 的形式:字典
requests.get("http://www.baidu.com", proxies=proxies)
proxies
的形式:字典proxies = {
"http": "http://12.34.56.79:9527",
"https": "https://12.34.56.79:9527"
}
retrying
模块的使用retrying
模块提供的retry
模块stop_max_attempt_number
,让函数报错后继续重新执行,达到最大执行次数的上限,如果每次都报错,整个函数报错,如果中间有一个成功,程序继续往后执行import requests
from retrying import retry
headers = {}
@retry(stop_max_attempt_number=3) #最大重试3次,3次全部报错,才会报错
def _parse_url(url):
response = requests.get(url, headers=headers, timeout=3) # 超时的时候会报错并重试
assert response.status_code == 200 # 状态码不是200,也会报错并重试
return response
带上cookie、session的好处:
能够请求登录之后的页面
带上cookie、session的弊端:
一套cookie和session往往和一个用户对应请求太快,请求次数太多,容易被服务器识别为爬虫
不需要cookie的时候尽量不去使用cookie
但是为了获取登录之后的页面,我们必须发送带有cookies的请求
requests提供了一个叫做session类,来实现客户端和服务端的会话保持
使用方法:
标签:响应 欺骗 .com 代理 ber 返回 data 弊端 也会
原文地址:https://www.cnblogs.com/colden/p/9859101.html