javascript - 如何使用 BeautifulSoup 和 Python 调用 JavaScript 函数

标签 javascript python selenium web-scraping urllib

作为我项目的一部分,我正在执行网络抓取以从网站获取数据。我可以发出请求并获取 dom 中存在的数据。但是,一些数据正在 javascript onClick 函数上呈现。

一种方法是,使用 selenium 单击链接(调用 javascript 函数)并获取呈现的数据,但这个过程很耗时,我不想打开浏览器。

除了 selenium 之外,还有其他方法可以实现这一点吗?

网站:http://catalog.fullerton.edu/preview_entity.php?catoid=16&ent_oid=1849

在该网页的类(class)部分,所有类(class)都是超链接,只要有人点击类(class),就会调用 javascript 方法。我需要在 javascript 函数调用后呈现的数据。

最佳答案

你不能。如果要运行 JavaScript,则需要使用 headless 浏览器。否则,您将不得不反汇编 JavaScript 并查看它的作用。

在网络选项卡中打开浏览器的开发人员工具时单击该元素:

enter image description here

您现在可以看到 JavaScript 从该 URL 下载新的 HTML。您可以使用 urllib 轻松发送相同的请求。

关于javascript - 如何使用 BeautifulSoup 和 Python 调用 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48603339/

相关文章:

javascript - 使用 laravel 对象在 vue 模板中动态图像的数据绑定(bind)样式

javascript - javascript Class "chzn-select"不仅仅是一个类名吗?

Python 类似二进制搜索的函数,用于查找排序列表中大于特定值的第一个数字

python - 在不使用任何浏览器的情况下使用 Selenium

python - 在Python中分割outerHTML属性

javascript - 在 React 中更改父级的状态时,我的子级值没有改变?

JavaScript 事件不工作

python - 在 centos 6.7 上安装 booktype

python - 如何关闭(或隐藏)openpyxl 组合图表上的秒 y 轴刻度?

javascript - 使用 selenium Python 单击 javascript 按钮