1,用的Chrome,默认情况下Chrome是自动更新的,之前没碰到过这点。在爬虫时测着测着,就会报错,Chromedriver版本对不上。解决方法,一是更新的你的Chromedriver,二是取消Chrome浏览器的自动更新。这里留白,稍后补下具体解决方法。
2,问题描述:centos7环境爬取京东商品页面,driver.get(url),之后查看driver.current_url,发现当前URL为https://m.jd.com/404.htm?errcode=20004,点进去看是首页。本地同样的脚本,未使用代理,正常。
分析:有个404?,errocode20004,从这两个入手想找原因。之后想本地运行和服务器端运行的差异。想了半天,最后想看下两边的IP,按理来说都没有使用代理,网络应该是一样的,测试发现不一样。。。。这个坑困了好久
解决方法:使用自配代理,解决。总结,京东会对IP进行检测,有反爬措施,重定向到首页
3.关于selenium爬虫各个事件,碰到许多坑,普通点击无效,明明定位到了元素,点击的却是其他地方,开启无界面模式和不开启无界面模式点击结果不一样。这里粗略说一下,之后进行细分。解决方式:采用模拟鼠标的方式,找坐标;模拟键盘事件;先定位父类再点目标。。。。
各式都尝试了下并没有多大效果。最终解决:js,操作js。这里之后进行selenium js常用操作总结,终极大法js,目前使用下来感觉是万能