一、爬虫
在使用爬虫的时候,很多网站都有一定的反爬措施,甚至在爬取大量的数据或者频繁地访问该网站多次时还可能面临ip被禁,所以这个时候我们通常就可以找一些代理ip,和不用的浏览器来继续爬虫测试。
二、User-Agent池
User-Agent 就是用户代理,是一个特殊字符串头,相当于浏览器的身份证号,我们在利用python发送请求的时候,默认为: python-requests/2.22.0,所以我们在利用爬虫爬取网站数据时,频繁更换它可以避免触发相应的反爬机制。
构建User-Agent池,有两种方法:
1、自己手动构造随机函数
2、fack-useragent库自动生成
方法一:构造随机函数
自己手动编写User-Agent池,随机获取其中一个就行,里面的浏览器,网上很多,复制即可
方法二:fack-useragent库自动生成
安装:
pip install fake-useragent
如图:
示例:
三、反爬虫
如今,反爬虫机制广泛应用于各个网站,为爬虫增加了困难。然而,我们可以利用一些技巧应对这些反爬虫措施。下面将讲反爬虫的两种方法:使用代理IP和User-Agent。
1、使用代理IP
许多网站通过监控来自同一IP地址的高频请求来识别和阻止爬虫。为了规避这种情况,可以使用代理IP来隐藏真实的请求源。代理IP是一种通过中间服务器转发请求的方法,通过切换不同的IP地址,我们可以避开网站的反爬虫限制。
在Python中,我们可以使用第三方库如Requests或Scrapy,通过配置代理IP来发送请求。例如,在使用Requests库时,可以使用以下代码来设置代理IP:
但是,使用代理IP可能会遇到被网站封禁了使用的代理IP,我在这分享一个免费的代理ip池的地址
站大爷:每日免费代理IP - 站大爷 - 企业级高品质Http代理IP_Socks5代理服务器_免费代理IP (zdaye.com)
最后,使用多个代理IP,并定期更换,避免单一IP被封。另外,可以使用付费代理IP或使用自己搭建的代理服务器,减少被封几率。
2、使用随机useragent
在上面我也讲了如何构造随机函数,我们在Python中可以使用第三方库fack-useragent来随机生成的User-Agent;也可以自己手动写。