范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Python爬虫伪装,请求头UserAgent池,和代理IP池搭建使用

  一、前言
  在使用爬虫的时候,很多网站都有一定的反爬措施,甚至在爬取大量的数据或者频繁地访问该网站多次时还可能面临ip被禁,所以这个时候我们通常就可以找一些代理ip,和不用的浏览器来继续爬虫测试。下面就开始来简单地介绍一下User-Agent池和免费代理ip池。二、User-Agent池
  User-Agent 就是用户代理,又叫报头,是一串字符串,相当于浏览器的身份证号,我们在利用python发送请求的时候,默认为: python-requests/2.22.0,所以我们在利用爬虫爬取网站数据时,频繁更换它可以避免触发相应的反爬机制。
  构建User-Agent池,这里介绍两种方法:1,手动构造随机函数。2,第三方库fake-useragent
  方法1:构造随机函数
  自己手动编写User-Agent池,然后随机获取其中一个就行了。def get_ua():     import random     user_agents = [         "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60", 		"Opera/8.0 (Windows NT 5.1; U; en)", 		"Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.50", 		"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.50", 		"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0", 		"Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10", 		"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2 ", 		"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36", 		"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11", 		"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.133 Safari/534.16", 		"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36", 		"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko", 		"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.11 TaoBrowser/2.0 Safari/536.11", 		"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER", 		"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)", 		"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.84 Safari/535.11 SE 2.X MetaSr 1.0", 		"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SV1; QQDownload 732; .NET4.0C; .NET4.0E; SE 2.X MetaSr 1.0) ",     ]     user_agent = random.choice(user_agents) # 随机抽取对象     return user_agent  # 调用 get_ua()
  至于,在哪里找这些浏览器,网上一大堆,复制过来即可。
  实际环境调用随机User-Agent池import requests  def get_page(url):     ua = get_ua()     headers = {"User-Agent": ua}     response = requests.get(url=url, headers=headers)     print(response.text)  if __name__ == "__main__":     get_page("https://www.baidu.com")
  方法2: fake-useragent 库自动生成
  注: 此库在2018年已经停止更新,版本目前停止在0.1.11,所以生成的浏览器版本都比较低。如果有网站检测浏览器版本号大小(范围)的话,就可能会被检测到。
  安装:pip install fake-useragent
  调用第三方库,生成指定浏览器的user-agentfrom fake_useragent import UserAgent ua = UserAgent()  ua.ie # Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US); ua.msie # Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)" ua["Internet Explorer"] # Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB7.4; InfoPath.2; SV1; .NET CLR 3.3.69573; WOW64; en-US) ua.opera # Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11 ua.chrome # Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2" ua.google # Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.13 (KHTML, like Gecko) Chrome/24.0.1290.1 Safari/537.13 ua["google chrome"] # Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11 ua.firefox # Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1 ua.ff # Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1 ua.safari # Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25  # and the best one, random via real world browser usage statistic ua.random
  官方文档:https://fake-useragent.readthedocs.io/en/latest/
  实际示例代码:from fake_useragent import UserAgent import requests  ua=UserAgent() #请求的网址 url="http://www.baidu.com" #请求头 headers={"User-Agent":ua.random} #请求网址 response=requests.get(url=url,headers=headers) #响应体内容 print(response.text) #响应状态信息 print(response.status_code) #响应头信息 print(response.headers)
  三、IP代理池
  开源IP代理池,这里推荐两个:
  https://github.com/Python3WebSpider/ProxyPool
  https://github.com/jhao104/proxy_pool
  这里用第二个测试,使用人数更多,而且一直在更新。
  1:下载启动
  Linux下载git clone git@github.com:jhao104/proxy_pool.git #或者 git clone https://github.com/jhao104/proxy_pool.git
  使用docker compose启动#进入目录 cd proxy_pool/ #启动代理池 docker compose up -d
  启动web服务后, 默认配置下会开启 http://127.0.0.1:5010 的api接口服务:
  api:/get :GET, 随机获取一个代理 ,可选参数: ?type=https 过滤支持https的代理/pop :GET, 获取并删除一个代理, 可选参数: ?type=https 过滤支持https的代理/all :GET, 获取所有代理 ,可选参数: ?type=https 过滤支持https的代理/count :GET, 查看代理数量,/delete :GET, 删除代理, ?proxy=host:ip
  访问浏览器测试,我这里IP,192.168.152.100
  2:爬虫使用
  如果要在爬虫代码中使用的话, 可以将此api封装成函数直接使用,例如import requests  def get_proxy():     return requests.get("http://127.0.0.1:5010/get/").json()  def delete_proxy(proxy):     requests.get("http://127.0.0.1:5010/delete/?proxy={}".format(proxy))  # your spider code  def getHtml():     # ....     retry_count = 5     proxy = get_proxy().get("proxy")     while retry_count > 0:         try:             html = requests.get("http://www.example.com", proxies={"http": "http://{}".format(proxy)})             # 使用代理访问             return html         except Exception:             retry_count -= 1     # 删除代理池中代理     delete_proxy(proxy)     return None
  更多使用方法,参考官方文档:https://proxy-pool.readthedocs.io/zh/latest/
  以上是基本使用方法,都是免费的,质量有限,如需要付费的。
  付费代理推荐: luminati-china. 国外的亮数据BrightData(以前叫luminati)被认为是代理市场领导者,覆盖全球的7200万IP,大部分是真人住宅IP,成功率扛扛的。

广东资本北上扫货安康单采血浆站卖了2280万近期,深圳市唯一血液制品生产商卫光生物(002880)公告称收购安康回天单采血浆站有限责任公司(下称安康回天)80股权,作价2280万元。引发金融棒棒糖兴趣的是大众几乎很少接触的单富力地产欠税超千万三言科技2月7日消息,天眼查App显示,近日,广州富力地产股份有限公司新增一则欠税公告,当前新发生的欠税余额约1174万元,欠税余额1753万元,欠税税种包括土地增值税城市维护建设北京智造北京服务强强联合,北京出台首个两业融合发展政策北京日报客户端记者曹政和冠欣一个是连续数年占北京GDP比重超过8成的现代服务业,一个是正在迈向高精尖的先进制造业,二者牵手能否实现112的效果?北京智造与北京服务两块金字招牌正牵手果铁夫加盟长城汽车任品牌公关总经理日前,电车之家获悉果铁夫将加入长城汽车,任品牌公关总经理一职,主要负责长城汽车企业品牌和技术品牌建设及公关事务。信息显示,果铁夫于2018年加入华人运通,2021年,高合汽车202收金132亿,北京兔年首场土拍收官!这家房企成最大ampampquot黑马ampampquot2月8日,北京2022年第五轮集中土拍收官,这也是北京兔年的首场土拍。本轮土拍共成交6宗宅地,成交总金额达到132。09亿元。其中,有3宗地底价成交,另外3宗地触顶成交。据了解,本春节假期谁最火?小蛮腰成广州导航最热门景点南都讯记者蒋臻实习生李露莉随着疫情防控政策优化调整,今年春节假期居民访友旅游出行需求增加。据高德地图春节假期出行数据,导航前往酒店的总次数较去年同期上升104,前往景区的总次数较去保洁大姐掏15万入股现在被叫无赖?侯大姐在宁波做保洁工作,她说在2020年7月份,和别人合伙开了一家废品回收站,自己投资了15万,现在觉得被骗了。15万入股废品站合伙还是无赖侯大姐说,之前会去废品站帮忙打包赚点钱,提醒!这些ChatGPT是假的,小心被骗随着聊天机器人ChatGPT火爆全球,国内也涌现了一批名字中包含ChatGPT的微信公众号小程序产品。国内这些产品是真的吗?与国外的ChatGPT有什么联系?用ChatGPT官方图芙蓉国评论从纸上到账上唱好经济工作重头戏王森近日,省长毛伟明主持召开省政府常务会议,研究部署出台若干政策措施,全力以赴打好经济增长主动仗,确保实现经济运行整体好转。会议原则通过关于打好经济增长主动仗推动经济运行整体好转的上海农商银行向20家民企提供520亿元授信中证网讯(记者黄一灵)据上海农商银行微信公众号2月8日晚消息,2月8日下午,上海农商银行与20家民营企业签署战略合作协议,合作期内将为签约企业提供总额超520亿元的意向性综合授信额全链条聚才引才!松山湖2023年机关企事业单位实习活动招募启动海纳百川才聚松湖东莞松山湖高新区优秀学生征集令为落实松山湖高新区发展战略相关部署,服务园区人才发展大局,实施全链条聚才引才行动,搭建高校机关企业人才交流互动平台,吸引更多优秀大学生
如何实现科研成果的有效转化在学校做出的科研成果很难转化,怎样才能使科研创新与世界接轨,让市场接受?全国两会召开前,浙江财经大学学生简苗通过中青校媒面向全国各地青年发起的问题征集活动,向两会代表委员提问。全国基辛格美国搞垮四个世界老二但第五个和前四个都不一样文探古论今人编辑探古论今人作为当今世界上唯一一个可以被称为超级大国的国家,美国,在其尚不足250年的历史中,通过一次次时代大势下的机缘巧合,完成了自己从殖民地到世界霸主的蜕变。然而猪身上最嫩的一块肉!这样做双倍补铁,再也不怕娃贫血!应对宝宝挑食,大家都有什么奇招?我有一个办法,屡试不爽。就是把宝宝不爱的食材,藏在爱吃的食物中,让TA不知不觉吃光光比如说今天这道营养肉包饭,我将里玉米粒青菜混在了里脊肉和午餐肉里两会进行时!金融系统代表委员有话说(二)代表委员共商国是(二)王俊寿全国政协委员,银保监会上海监管局党委书记局长强化财税货币司法等多部门金融风险协同处置机制张懿宸全国政协委员中信资本控股有限公司董事长兼首席执行官进一步鼓两会声音莫鼎革代表建议加快推进国内石化行业碳足迹核算新京报贝壳财经讯(记者朱玥怡)开展产品碳足迹评价是减少碳排放行为的重要基础,能够帮助企业辨识产品生命周期中主要温室气体排放过程,制定有效碳减排方案。3月4日,全国人大代表,中国石化甘泉堡经开区招商推介会在京举行签约金额达102亿元!园区企业兑现优惠政策奖励近6000万元3月3日,由商务部投资促进事务局指导,新疆维吾尔自治区人民政府驻北京办事处乌鲁木齐甘泉堡经开区联合主办的促投资对外开放展新局谋创新高质量发展谱新篇专场招商推介会在北京举行。商务部投你手中的AirPodsPro不仅仅一个是简单的降噪耳机你会在什么时候佩戴降噪耳机?上下班通勤专注工作还是哪些特别的场景?人人奔波忙碌,杂音无处不在,降噪耳机也顺势成为很多人的标配。使用苹果全家桶的用户,想必会在平时工作以及通勤时戴上第github上可激活win10和office的开源无毒的放心工具首先,我是不赞成D版的。但是我不反对通过开源代码学习技术。在浏览器地址栏输入httpsgithub。commassgravelMicrosoftActivationScripts就安卓系统7英寸防爆工业平板电脑机型安卓系统7英寸防爆工业平板电脑机型视频加载中安卓系统7英寸防爆工业平板电脑机型安卓系统7英寸防爆工业平板电脑机型安卓系统7英寸防爆工业平板电脑机型安卓系统7英寸防爆工业平板电脑机型突发!涉嫌严重违纪违法的警花凌娅被查,预感不妙主动投案自首正义可能会迟到,但永远不会缺席!作为一名警察,职责就是保护一方安全,本身负责缉毒禁毒的公安局副局长,如果自身不能做到清廉忠诚,那么被调查就在所难免了。警察是老百姓的守护神,有了他们分享人类社会发展史上匪夷所思的收益递增规律在理性乐观派一部人类经济进步史这本书中曾提到一个收益递增规律,比较有意思。因为一般情况下,可能是收益递减的说法更为人所熟知。例如,从一罐什锦干果里找核桃,就符合收益递减规律罐里的核