爬虫---反反爬---User-Agent

User-Agent

1、用户代理,浏览器身份识别

2、通过它判断是谁在发送请求,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等

3、代码中添加User-Agent实现模拟浏览器

4.某大牛写了个库,fake-useragent,本质其实也是个爬虫。可随机生成UA。

pip install fake-useragent

from fake_useragent import UserAgent
ua = UserAgent()
#ie浏览器的user agent
print(ua.ie)

#opera浏览器
print(ua.opera)

#chrome浏览器
print(ua.chrome)

#firefox浏览器
print(ua.firefox)

#safri浏览器
print(ua.safari)

#随机浏览器
print(ua.random)

 常遇的BUG:

fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached

解决3板斧:

禁用服务器缓存:
ua = UserAgent(use_cache_server=False)

 不缓存数据:
ua = UserAgent(cache=False)

忽略ssl验证:
ua = UserAgent(verify_ssl=False)

5.如果没解决,那算了,感觉不太稳定,时灵时不灵的,留个后手收集一批UA。

6.某些网站反爬厉害的话,注意代理ip和cookie,UA要保持一致。

7.使用Scrapy爬取贴吧的时候,携带了个UA,反而获取不到理想中的页面,卸掉UA可以正常获取。
 

### 回答1: User-Agent 是 HTTP 协议中的一个请求头字段,用来代表发出请求的客户端的信息。反爬虫技术中的 User-Agent 反爬就是指网站在收到请求时,会先判断请求头中的 User-Agent 字段是否属于合法的浏览器信息。如果不是,则认为是爬虫,可能会拒绝或限制访问。 这种技术常常被用于防止网站被爬虫抓取内容,或者防止恶意攻击。但是,由于 User-Agent 可以被伪造,所以这种技术并不能完全有效地防止爬虫。 ### 回答2: User-Agent反爬User-Agent Anti-Crawler)是指在网络爬虫程序访问网页时,网站会根据请求中的User-Agent字段的值来判断该请求是否来自合法的浏览器或爬虫程序。当User-Agent字段的值与合法浏览器的User-Agent不一致时,网站可能会将该请求视为恶意爬虫请求并进行拦截或限制访问。 User-Agent字段是HTTP请求头部的一部分,用于标识发起请求的客户端。一般情况下,浏览器会在发送请求时自动设置User-Agent字段,将浏览器的类型、版本等信息发送到被请求的网站。然而,一些网络爬虫程序可能会伪造User-Agent字段,将其设置为与合法浏览器不一致的值。 为了应对User-Agent反爬措施,网络爬虫程序可以通过设置合法的User-Agent字段来模拟浏览器的行为,以便顺利获取所需数据。这样的设置可以包括真实的浏览器User-Agent字段值,或者使用一些被广泛接受的爬虫User-Agent字段值,以蒙混过关。 除了User-Agent反爬,网站还可以采取其他防爬措施,如验证码、IP封禁、用户行为分析等。对于网络爬虫程序而言,除了设置合适的User-Agent外,还需要注意合理设置爬取频率,避免给网站造成过大的负荷和干扰正常用户的访问。 总之,User-Agent反爬是一种网站针对爬虫程序做出的识别与拦截机制,通过判断User-Agent字段的值来区分浏览器和爬虫,并对请求进行限制。为了克服这种反爬措施,爬虫程序可以设置合理的User-Agent字段以模拟浏览器行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值