伪装请求是将我们爬虫发送的请求伪装成更接近人使用浏览器或其他工具发送的用户请求。伪装请求的方法很多,这里要说的是伪装请求头和使用代理IP发起请求。
伪装请求头
fake_useragent库:一个很方便实用的请求头生成的库,可以生成各种浏览器的请求头,也可以随机生成请求头。
生成浏览器的请求头
from fake_useragent import UserAgent
header = UserAgent()
# 各浏览器的User-Agent
#chrome : header.chrome
#ie : header.ie
#ie : header.ie
#opera : header.opera
#firefox : header.firefox
#safri : header.safari
随机生成请求头
from fake_useragent import UserAgent
header = UserAgent()
print(header.random)
使用代理IP
普通请求:直接发送请求到服务器
代理请求:先将请求发送给代理服务器,代理服务器再将请求发送给目标服务器,目标服务器先将数据返回给代理服务器,代理服务器将数据返回给请求的客户端。
代理IP分为高匿和透明两种,高匿是指服务器不能解析出来源地址,透明指可以解析出原地址。
proxies = {
"http": "http://10.10.1.10:3128",
"https": "http://10.10.1.10:1080",
}
requests.get("http://example.org", proxies=proxies)
若使用付费代理需要密码授权
proxies = { "http": "http://user:pass@10.10.1.10:3128/",}
#user和pass对应用户名和密码
网友评论