BeautifulSoup 获取内嵌HTML数据

2 投票
2 回答
1534 浏览
提问于 2025-04-16 00:59

我正在尝试从一个网站读取数据。我能看到我需要的值,但在下载的html代码中却找不到这个值(我使用的是urllib2)。这个值是由某个js文件生成的,并作为该id的innerhtml嵌入到网页中。
补充一下:怎么才能提取这个值呢?原始源代码无法像浏览器那样渲染js!

2 个回答

1

你有两个选择:让浏览器保存DOM(这包括所有脚本所做的更改),或者使用JavaScript引擎来执行嵌入的脚本。

如果选择后者,可以试试一个基于Java的引擎,比如Rhino,并用env.js来模拟浏览器。

4

获取数据的另一种方法是让浏览器自己处理所有事情,使用Selenium来读取渲染后的html。这种方法虽然有点慢,但确实有效。

这里有一个关于如何使用Selenium和Python的入门指南: http://jimmyg.org/blog/2009/getting-started-with-selenium-and-python.html

撰写回答