pyhton爬虫学习(九):爬虫伪装
2020-05-19 本文已影响0人
记忆九天
有些网站可以识别出访问者是通过浏览器还是爬虫反问该网站,如果识别不是浏览器,就会禁止反问或者禁止该用户在网站上面的其他行为。比如不允许被登录等。如果此时我们想对该网站进行爬取,就需要使用浏览器的伪装技术。
那么什么是浏览器的伪装技术呢? 要回答这个问题,我们首先了解一下常见的反爬虫机制:
- 通过分析用户请求的Headers信息进行反爬虫。
- 通过检测用户行为进行反爬虫,比如通过判断同一个ip在短时间内是否频繁访问对应网站等进行分析。
- 通过动态页面增加爬虫爬取的难度,达到反爬虫的目的,比如需要输入动态的图片验证码或者滑动滑块到指定位置等。
针对以上问题,解决方法:
第一种:反爬虫机制在目前的网站上运用的最多。一般来说,大部分反爬虫的网站会对用户请求的Headers信息里面的“User-Agent”字段进行检测,以此判断用户的身份,有时也会对“Referer”字段进行检测。所以我们可以在爬虫中构造这些用户请求的Headers信息,以此将爬虫伪装成浏览器。比如可以简单的设置好“User-Agent”的header信息。如果要进行高相似度的浏览器伪装,则需要将用户常见的headers信息都设置好。
第二种:反爬虫机制的网站,通过切换代理服务器的地址,一般能过攻克限制。一些ip服务器地址可以在网上搜索找到,不过一般免费的速度不快且容易失效。也有付费提供的,大家可以根据自己的经济实力进行选择。
第三种:反爬虫机制要破解有点难,但是也可以通过一些工具软件,比如selenium+phantomJS攻克。 至于添加headers信息可以哪里获取,怎么添加,在之前的python爬虫教程都有涉及。可以通过fidder抓包软件查看headers信息或者通过浏览器开发者工具里面也可以查询的到。
当然爬虫还是尽量合理合法,不要影响人家网站正常运行。
欢迎关注本人公众号和小程序,谢谢

