基于requests模块的代理
Posted notfind
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于requests模块的代理相关的知识,希望对你有一定的参考价值。
1.什么是代理?
? 代理:将网络请求发送给代理服务器,通过代理服务器做中介,将请求转发给目标服务器并将响应返回,从而完成网络通信。
2.为什么使用代理?
? 使用爬虫抓取批量资源时,在短时间内会对服务器发起高频请求,服务器会判定这些高频请求不是“普通访客”发起的,从而拒绝该IP的发起的请求,但是我们可以更换IP(使用代理IP)继续进行访问
3.代理的基础知识
- ? 代理的类型:http和https 根据要访问网页使用的协议类型进行选择
- ? 匿名度:分为透明、匿名和高匿
? 透明:服务器知道使用了代理,而且知道真实的IP
? 匿名:服务器知道使用了代理,而且但不知道真实的IP
? 高匿:服务器不知道使用了代理,更不知道真实的IP
4.requests中的proxies参数
import requests
import random
requests.get(url = target_url,proxies = 'http':''163.125.114.117:8118'',headers =...)
#防止IP被禁,可以使用代理池
ht_proxy = [
'http':'163.125.114.117:8118',
'http':'183.129.244.16:11063',
'http':':219.159.38.199:56210']
hts_proxy = [
'https':'163.125.114.117:8118',
'https':'183.129.244.16:11063',
'https':':219.159.38.199:56210']
#使用User-Agent进行伪装
header_list = [
# 谷歌
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (Khtml, like Gecko) Chrome/17.0.963.56 Safari/535.11",
# 火狐
"user-agent": "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
# 遨游
"user-agent": "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)",
]
requests.get(url = target_url,proxies = random.choice(ht_proxy),
headers = random.choice(header_list))
#还可使用随机生成user-agent的第三方库(先安装)
from fake_useragent import UserAgent
ua = UserAgent().random
headers =
'User-Agent':ua
#随机产生UA,如果报错则可以添加如下参数:
#ua = UserAgent(verify_ssl=False,use_cache_server=False).random
#禁用服务器缓存:
#ua = UserAgent(use_cache_server=False)
#不缓存数据:
#ua = UserAgent(cache=False)
#忽略ssl验证:
#ua = UserAgent(verify_ssl=False)
以上是关于基于requests模块的代理的主要内容,如果未能解决你的问题,请参考以下文章