Python之反爬虫手段(User-Agent,Cookie,Referer,time.sleep(),IP代理池)

现在的爬虫越来越难,各大网站为了预防不间断的网络爬虫,都相应地做出了不同的反爬机制,那么如何能够在不被封IP的情况,尽可能多得爬取数据呢?这里主要介绍到一些通用的反爬措施,虽然不一定适合所有网站,但是大部分网站的爬取,个人认为还是可以的。本文主要介绍到User-AgentCookieReferertime.sleep()设置睡眠间隔ProxyPool之IP池的搭建,小伙伴们各取所需!

由于后续爬虫案例都默认自带这些反爬技术,所以这里就统一详细介绍下,后续案例就不再过多涉及,废话不多说,开始展开!

1. user-agent

user-agent:是识别浏览器的一串字符串,相当于浏览器的身份证,在利用爬虫爬取网站数据时,频繁更换User-agent可以避免触发相应的反爬机制;

这里,就用到了fake-useragent包,这个包对频繁更换User-agent提供了很好的支持,可谓防反爬利器,那么它如何使用呢?

(1)安装:直接在anaconda控制台安装fake-useragent包即可;

pip install fake-useragent

(2)具体代码使用:

from fake-useragent import UserAgent

ua = UserAgent()
headers = {
    'User-Agent' : ua.random #随机生成一个UserAgent
}
url = 'https://www.baidu.com/'
page = requests.get(url, headers=headers)

2. cookie,referer设置

(1)Cookie

在我们每次访问网站服务器的时候,服务器都会为在我们本地设置cookie,为什么要设置cookie呢?因为服务器要了解我们的身份。在我们下一次访问该服务器的时候,都会带上这个cookie,表明我们的身份。(例如我们在登陆某个网站的时候,在一段时候内再次进行访问,就不需要二次登录)

那么,每个网站的Cookie都不一样,如何找到自己需要的呢?

首先,打开一个特定的网站,比如58同城二手房https://bj.58.com/ershoufang/;在网页空白处右键(最好是chrome或者Firefox),点击【检查】,出现如下图所示的框(右边即为浏览器检查界面)。

4步走:① 选择【Network】②选择【XHR】③点击浏览器刷新按钮④找到对应的网站请求,点击打开即可。

(2)Referer<

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数分小白龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值