selenium phantomjs无法刮取网站机器人检测

时间:2017-01-24 16:50:57

标签: javascript python selenium phantomjs

我无法抓住这个网站here是python selenium phantomjs请求的屏幕截图。我不知道他们是如何检测到它是一个机器人,但在图片上说需要javascript,需要验证码,也许还需要其他什么东西?绝对不是因为这是我的第一次请求而不是超人速度,所以这不是原因。附:当我在浏览器上粘贴相同的请求时,它会指向我想要的页面并且工作正常。

Int

2 个答案:

答案 0 :(得分:3)

我现在就开始工作了。我会简单地把这个放在其他不这样做的人身上。启用javascript和假冒用户

    cap = webdriver.DesiredCapabilities.PHANTOMJS
    cap["phantomjs.page.settings.javascriptEnabled"] = True
    cap["phantomjs.page.settings.loadImages"] = True
    cap["phantomjs.page.settings.userAgent"] = 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0'
    br = webdriver.PhantomJS('bin/phantomjs',desired_capabilities=cap)

答案 1 :(得分:0)

总的来说可以帮助您的事情:

  • 标题应类似于常见的浏览器,包括:
  • 导航:
    • 如果您有多个请求,请在它们之间放置一个随机超时
    • 如果打开页面中找到的链接,请相应地设置 Referer 标头
    • 或者更好的方法是模拟鼠标活动以移动,单击并跟随链接
  • 图像应启用
  • JavaScript 应该已启用
    • 检查是否在客户端JavaScript页面上下文中设置了“ navigator.plugins ”和“ navigator.language
    • 检查您使用的客户端没有注入明显的javascript变量(例如_cdc,__ nightmare ...)
  • 使用代理