使用Python进行web抓取时,浏览器错误中禁用了如何通过Javascript

2024-06-13 22:04:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个脚本,将电子书下载到pdf中。当我尝试在it I中使用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())

Tags: 代码脚本消息url内容pdf浏览器it
1条回答
网友
1楼 · 发布于 2024-06-13 22:04:44

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

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

相关问题 更多 >