超级实用的Python网络爬虫反反爬策略之构造UA池及IP代理池
Posted 极限之旅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了超级实用的Python网络爬虫反反爬策略之构造UA池及IP代理池相关的知识,希望对你有一定的参考价值。
为了更好的进行网络爬虫,应对一些站点的反爬机制,我们通常都要使用一些反反爬策略,其中,构造UA池和IP代理池,每次抓取网页时都采用随机的UA和代理IP是非常实用的一种策略。因此,先来给大家打个样,可以少踩一些坑的。
目标:抓取百度首页源码
import requests import random def main(): #创建UA池 headers_list = [ { \'User_Agent\': \'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0\' }, {\'User_Agent\':\'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36\'} ] #创建IP代理池 proxy_list=[ {"http":"47.107.38.138:8000"}, { "http":"163.125.113.224:8118" } ] #发请求时,随机从池中选择UA header=random.choice(headers_list) #随机选择代理IP,可以去一些代理站点寻找高匿IP proxy=random.choice(proxy_list) #抓取百度首页 url="https://www.baidu.com/" page_text=requests.get(url=url,headers=header,proxies=proxy).content with open(\'./daili.html\',\'wb\')as fp: fp.write(page_text) if __name__ == \'__main__\': main()
抓取到的源码保存在daili.html中
通过浏览器打开就i是百度的首页了
以上是关于超级实用的Python网络爬虫反反爬策略之构造UA池及IP代理池的主要内容,如果未能解决你的问题,请参考以下文章