如何使用 Beautiful Soup 从 python 代码中获取 javascript 函数的结果
How to get the result of a javascript function from a python code using Beautiful Soup?
我想在Python中使用Beautiful Soup从网站上抓取数据。站点会根据用户的选择更改下拉菜单的值。更改下拉菜单的值时没有 api 调用。仔细观察后,我观察到有一个 javascript 函数在内部调用以获取下拉菜单的值。我的问题是该下拉菜单的值在页面源代码中不存在。它们是通过调用 js 函数获得的,但没有 api 调用,我无法请求该值。谁能告诉我如何从 python 代码调用 javascript 函数。我正在使用美丽汤进行网页抓取。
谢谢
你可能对 Pyv8 模块感兴趣;它允许你在 Python 代码中嵌入一个 JavaScript 解释器,但不包括浏览器 DOM。我在为什么美丽汤找不到特定的表类中举了一个简短的例子?
对于更广泛地使用浏览器功能的javascript,您可能更喜欢 ghost.py,这是一个带有Python API的基于Webkit的无头浏览器。
如果做不到这一点,如果你提供了页面 url,我们可以看看 javascript,看看是否有一种快速的方法可以在 Python 中复制调用。
你不能。BeautifulSoup是一个HTML解析器。
你想做的不仅仅是解析HTML;你想评估Javascript。
也许你正在寻找一个支持Javascript的浏览器,比如Selenium。
Beautiful Soup 不能用于解析 JavaScript 加载的内容。你应该使用类似硒的东西
相关文章:
- 使用Javascript获取所选选项ID
- 可以't使用JavaScript获取width属性
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- Javascript获取上一个元素的内容
- 使用Javascript获取Twitter访问令牌
- 在不同的文件中使用Javascript获取表单数据
- 如何用javascript获取谷歌地图的经度和纬度
- 使用javascript获取表的td值
- 如何使用JavaScript获取当前URL
- 如何在谷歌网站中使用javascript获取当前页面的网址
- Javascript获取所有锚链接的索引
- 如何使用javascript获取从指定文件夹创建的所有文件的名称、大小、类型和日期
- Javascript获取具有不同id的文件数's来自没有多个属性的文件输入元素
- 如何使用javascript获取下一个/转发url
- 需要使用javascript获取输入文本,然后将其添加到句子中
- 使用JavaScript获取Gridview单元格值
- 使用javascript获取跨度的文本
- 如何使用Javascript获取POST请求填充的元素的值
- JavaScript-获取数据属性的值返回未定义的值
- Javascript:获取“;FORM”;它是在.html到外部.js文件中创建的