【问题标题】:How to get past Javascript is disabled in your browser error when web scraping with Python使用 Python 抓取网页时,如何在浏览器错误中禁用 Javascript
【发布时间】:2021-02-01 04:05:12
【问题描述】:

我正在尝试创建一个脚本来将电子书下载到 pdf 中。当我尝试在其中使用 beautifulsoup 打印单个页面的内容时,我在控制台中收到一条消息,指出“哦,不!您的浏览器中似乎禁用了 JavaScript。请重新启用以访问阅读器。” 我已经在 Chrome 中启用了 Javascript,并且这段代码适用于像 stackO 答案页面这样的页面。什么可能会阻止此页面中的 Javascript,我该如何绕过它?

我的代码供参考:

url = requests.get("https://platform.virdocs.com/r/s/0/doc/350551/sp/14552484/mi/47443495/?cfi=%2F4%2F2%5BP7001013978000000000000000003FF2%5D%2F2%2F2%5BP7001013978000000000000000010019%5D%2F2%2C%2F1%3A0%2C%2F1%3A0")
url.raise_for_status()
soup = bs4.BeautifulSoup(url.text, "html.parser")
elems = soup.select("p")

print(elems[0].getText())

【问题讨论】:

    标签: javascript python web-scraping beautifulsoup python-requests


    【解决方案1】:

    问题在于页面实际上不包含任何内容。要加载内容,它需要运行一些 JS 代码。 requests.get 方法不运行 JS,它只是加载基本的 HTML。

    您需要做的是模拟浏览器,即“打开”页面,运行 JS,然后抓取内容。一种方法是使用此处所述的浏览器驱动程序 - https://stackoverflow.com/a/57912823/9805867

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-09
      • 1970-01-01
      • 2016-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多