如何有效应对selenium与chromedriver被反爬虫机制限制的应对策略?
- 内容介绍
- 文章标签
- 相关推荐
本文共计477个文字,预计阅读时间需要2分钟。
问题背景:在爬取某著名电商平台时遇到的问题,原方案使用selenium+chromedriver+mitmproxy进行刷选,但几天后刷新不出结果,直接跳转至登录界面(非常明显,是遭遇了)。
问题背景:这个问题是在爬取某夕夕商城遇到的问题,原本的方案是用selenium + chromedriver + mitmproxy开心的刷,但是几天之后,发现刷不出来了,会直接跳转到登陆界面(很明显,是遭遇反爬了)
讲实话,这还是第一次用硒被反爬的,于是进行大规模的测试对比。
同台机器,用铬浏览器正常访问是不用跳转到登陆界面的,所以不是IP的问题。再用提琴手抓包对比了一下两个请求头,请求头都是一样的,所以忽略标头的反爬。
最后通过分析,可能是硒被检测出来了。于是就去查资料。大概的查到是和webdriver的有关系的。因为这个在服务端是可以检测到的。于是通过fiddler抓包,全局搜索了一下webdriver,发现在js中果然是有判断的。导致selenium爬取的时候,被转到登陆界面。
解决方法:mitmproxy
因为mitmproxy可以拦截请求,所以在响应中,将包含的webdriver的JS中的关键字替换成其他的字符就可以了。
本文共计477个文字,预计阅读时间需要2分钟。
问题背景:在爬取某著名电商平台时遇到的问题,原方案使用selenium+chromedriver+mitmproxy进行刷选,但几天后刷新不出结果,直接跳转至登录界面(非常明显,是遭遇了)。
问题背景:这个问题是在爬取某夕夕商城遇到的问题,原本的方案是用selenium + chromedriver + mitmproxy开心的刷,但是几天之后,发现刷不出来了,会直接跳转到登陆界面(很明显,是遭遇反爬了)
讲实话,这还是第一次用硒被反爬的,于是进行大规模的测试对比。
同台机器,用铬浏览器正常访问是不用跳转到登陆界面的,所以不是IP的问题。再用提琴手抓包对比了一下两个请求头,请求头都是一样的,所以忽略标头的反爬。
最后通过分析,可能是硒被检测出来了。于是就去查资料。大概的查到是和webdriver的有关系的。因为这个在服务端是可以检测到的。于是通过fiddler抓包,全局搜索了一下webdriver,发现在js中果然是有判断的。导致selenium爬取的时候,被转到登陆界面。
解决方法:mitmproxy
因为mitmproxy可以拦截请求,所以在响应中,将包含的webdriver的JS中的关键字替换成其他的字符就可以了。

