【问题标题】:Can a website detect when using Chromium via Puppeteer?网站可以通过 Puppeteer 检测到何时使用 Chromium?
【发布时间】:2019-06-10 16:42:50
【问题描述】:

当使用 Chromium 和 Node plus Puppeteer(不是 Selenium 和 ChromeDriver)来抓取网站时,它能够检测并阻止我抛出自定义错误而不是提供页面,而如果手动加载 Chromium,则会正确加载相同的错误。那么问题来了:有没有办法检测网站上安装的反僵尸软件并在浏览器自动化时绕过它?

PS:我已经彻底讨论了@Can a website detect when you are using selenium with chromedriver? 的所有要点,并考虑了从那里收集的所有关键点进行了相关测试,但最终得到了与 Selenium 相似的结果。因此,我想知道是否有任何最新发现,或者是否有任何最新的自动化技术可以应对这一技术挑战。根据我昨晚的测试,用最新版本的 Selenium 和 ChromeDriver 替换 $cdc_ 也不再起作用。

示例站点:https://www.naukri.com/posted-today-jobs,我正在尝试使用 Chromium+Node+Puppeteer 抓取那里列出的作业,但是在无头和全头模式下,它在新标签本身中打开页面时会检测和阻止。与最新的 Selenium+Node+ChromeDriver 的结果相同。

【问题讨论】:

    标签: browser automation bots screen-scraping detection


    【解决方案1】:

    如果您仍然遇到问题,我可以建议使用 Selenium 和 chrome webdriver 使用以下选项。

    option.add_argument('--disable-blink-features=AutomationControlled')

    这帮助我加载了一个页面,否则该页面无法通过机器人完全加载。

    【讨论】:

      【解决方案2】:

      是的,它可以 - 正如您所说的那样。请联系您的管理员或开发人员为您停用它或将测试仪绕过密钥交给您。 另一种选择是让他们将您的 IP 列入白名单,因为您肯定是合法用户,为他们的公司工作,而不是试图窃取其他数据,从而降低他们的虚拟主机容量并增加他们的账单。

      【讨论】:

      • Josch,抓取的目的是扫描和收集职位描述的特定模式,以便我定期分析和评估各个平台上的本地就业市场需求,例如 java、C 等。但它们不是尽管我已经付费订阅,但鼓励以自动方式查看他们的 JD 是问题背后的全部故事。现在,来到你建议的技术部分:我能够手动使用相同的浏览器+PC打开相同的链接,只有当浏览器由 Selenium 或 Puppeteer 控制时才会出错!
      猜你喜欢
      • 2022-01-26
      • 1970-01-01
      • 2020-05-22
      • 2018-11-26
      • 2019-01-22
      • 2020-10-07
      • 2019-05-22
      相关资源
      最近更新 更多