当你在爬取数据的过程中,遇到反爬时,解决的思路是什么?

1.遇到基于请求头的反爬构造合理的 HTTP 请求头(User-Agent,Referer,Cookie)
2.设置cookie (模拟登录获取cookie)
3.降低访问频率
4.动态页面的爬虫(通过ajax请求数据,或者通过JavaScript生成)使用selenuim和phantomjs模拟浏览器获取数据
5.使用IP,网站反爬比较严格的时候,一般会根据用户请求网页的频率来限制IP,所以必要的时候使用IP代理池
6.出现验证码使用打码平台来识别验证码(超级鹰,云打码等)解决方法:
对于基本网页的抓取可以自定义headers,添加headers的数据使用多个代理ip进行抓取或者设置抓取的频率降低一些,动态网页的可以使用selenium + phantomjs 进行抓取对部分数据进行加密的,可以使用selenium进行截图,使用python自带的pytesseract库进行识别,针对于复杂的验证码需要使用第三方打码平台(超级鹰,云打码),但是比较慢最直接的方法是找到加密的方法进行逆向推理(想要超级熟悉js)

猜你喜欢

转载自blog.csdn.net/weixin_34025051/article/details/87234922