【发布时间】:2013-06-04 20:40:22
【问题描述】:
您好,我正在尝试用 Python 解析网页。这个网页在禁区,所以我不能给出链接。在此网页中,您可以进行查询,然后将这些查询发布在添加到同一网页上的表中,但使用新的 url。当我解析页面时,我得到了除了表格之外的所有内容。
我注意到无论我的查询如何,网址总是相同的。所以我总是从我的解析器得到相同的结果,也就是没有查询结果的网页(表格)。但是,如果我检查网页(在 Chrome 中),那么表格及其结果将包含在 HTML 中。我的解析器看起来像这样:
import urllib.request
with urllib.request.urlopen("http://www.home_page.com") as url:
s = url.read()
#I'm guessing this would output the html source code?
print(s)
那么我的问题是,是否有其他方法可以识别网页,以便我收到网页上发布的所有内容?
【问题讨论】:
-
是否有一些客户端脚本正在生成/检索表?如果您在浏览器中禁用 javascript 并尝试访问网页会怎样?
-
感谢您的关心,我只是将条件放入HTML表单和新闻搜索中,然后生成了表格。
-
对。您的 python 代码只是读取来自 HTTP 请求的原始字符串数据。它无法执行页面中可能存在的任何客户端脚本。另一方面,您的浏览器将“运行”页面并执行任何有效的脚本。您需要使用 Selenium 等浏览器自动化工具来获取您想要的内容。
-
谢谢 Joel Cornett!,我正在研究 Selenium,希望能解决一些问题。