【问题标题】:How to webscrape dynamic websites in python (without using selenium) [duplicate]如何在python中抓取动态网站(不使用硒)[重复]
【发布时间】:2020-09-10 23:13:20
【问题描述】:
是否有任何库或替代 Selenium 的方法来从动态(javascript 渲染)网站抓取数据?
我遇到的问题是,许多网站可以很容易地检测到我何时使用带有 selenium 的 webdriver。我已经完成了一些事情,例如在我的 webdrver 中更改我的 cdc_ 变量,但我仍然被检测到。我一直在研究使用 Selenium 无法检测到的方法,但似乎不可能做到。
所以,我正在寻找一种不使用 Selenium 来抓取动态网站的方法。任何建议都有帮助。
谢谢!
【问题讨论】:
标签:
python
selenium
selenium-webdriver
web-scraping
selenium-chromedriver
【解决方案1】:
如果您不想使用selenium 抓取动态网站。
我知道的两种方式:
-
找到ajax API并发送GET请求。那只能使用requests模块或urllib模块可以做到这一点。(我推荐这个,但它需要采取一些措施。)
如果您的 python 版本 >= 3.6,您可以尝试使用 requests-html 模块。据我所知,它可以获得一些由 JavaScript 呈现的文本。
【解决方案2】:
您可以尝试像requests-html 这样的库。这是一个简单的解决方案,但如果它不起作用,它会构建在 pyppeteer 之上,它会完成所有繁重的工作。