【发布时间】:2022-01-27 22:36:42
【问题描述】:
我正在尝试从 ebay 中某件商品的总售出页面获取一些信息(因为该 API 请求不再可用)。 我已经尝试过 bs4(美丽的汤)和 selenium,但得到的是 recaptcha 结果,而不是页面的内容本身。 对这个问题有任何帮助吗? 谢谢!
【问题讨论】:
标签: python selenium web-scraping beautifulsoup ebay-api
我正在尝试从 ebay 中某件商品的总售出页面获取一些信息(因为该 API 请求不再可用)。 我已经尝试过 bs4(美丽的汤)和 selenium,但得到的是 recaptcha 结果,而不是页面的内容本身。 对这个问题有任何帮助吗? 谢谢!
【问题讨论】:
标签: python selenium web-scraping beautifulsoup ebay-api
使用 vanilla Selenium 通常会导致验证码/阻塞,因为浏览器没有隐藏其作为浏览器自动化的身份。
我建议尝试undetected_chromedriver - Selenium 的略微修改版本,它绕过了大多数自动机器人检测协议。
来自项目的描述:
[undetected_chromedriver is an...] 优化的 Selenium Chromedriver 补丁,它不会触发像 Distill Network / Imperva / DataDome / Botprotect.io 这样的反僵尸服务
我已经用过很多次了,它几乎总是按预期工作。
以下是一些帮助您入门的代码:
import undetected_chromedriver.v2 as uc
# ADD CHROME OPTION -> DISABLE POPUP BLOCKING
options = uc.ChromeOptions()
options.add_argument("--disable-popup-blocking")
driver = uc.Chrome(options=options)
driver.get('https://amazon.com/')
您可以访问project's GitHub 了解更多信息。请记住,在使用某些函数时,您需要使用与常规 Selenium 略有不同的语法。
另外,您不需要下载 chromedriver.exe,因为该模块会自动下载最新版本。
【讨论】: