首先分享一下前两天爬取某宝数据时遇到的一些问题,第一个问题是模拟登陆时就被检测到了,之前的文章讲过为什么会被检测到以及应对的方法,今天分享一个更加实用的方法,
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument",{
"source":"""
Object.defineProperty(navigator,'webdriver',{
get: () => undefined
})
"""
})
加入这段代码以后可以规避掉网站对selenium的检测
下面分享一下遇到的一些问题,
第一个问题, execute_cdp_cmd这个函数无法找到,原因是selenium版本过低,更新到最 新的selenium的版本
第二个问题,有的网站加载页面过慢,可以使用wait.until方法,字面意思直到定位到指定位置再 进行下一步的操作
第三个问题,单次爬取的信息量大,此时就需要程序主动的休眠,使用time即可
第四个问题,webdriver的问题,我也遇到过很多次webdriver出错的情况,无非三种情况:
1.webdriver版本过低,需要更新到与谷歌浏览器最接近的版本
2.路径问题:每次加上webdriver的路径
3. 系统环境问题,有的大型的网站就需要mac和windows两个系统的版本例如某宝
版权归原作者 不喜欢穿格子衫的程序员 所有, 如有侵权,请联系我们删除。