Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 识别网页_Python_Html_Extract - Fatal编程技术网

Python 识别网页

Python 识别网页,python,html,extract,Python,Html,Extract,嗨,我正在尝试用Python解析一个网页。此网页位于限制区域,因此我无法提供链接。在此网页中,您可以执行查询,然后将查询发布到添加在同一网页上但具有新url的表中。当我解析页面时,我得到了除表之外的所有内容 我注意到,无论我的查询如何,url总是相同的。所以我总是从解析器中得到相同的结果,即没有查询结果(表)的网页。但是如果我检查网页(在Chrome中),那么表格及其结果将包含在HTML中。我的解析器如下所示: import urllib.request with urllib.request.

嗨,我正在尝试用Python解析一个网页。此网页位于限制区域,因此我无法提供链接。在此网页中,您可以执行查询,然后将查询发布到添加在同一网页上但具有新url的表中。当我解析页面时,我得到了除表之外的所有内容

我注意到,无论我的查询如何,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)

那么我的问题是,有没有其他方法来识别网页,这样我就可以收到网页上发布的所有内容?

将根据您的问题,我认为您正在寻找网页抓取技术

威尔:这是我的建议 您可以使用正则表达式来获取可以以特定模式表示的数据
比如说

import urllib,re
siteContent  = urllib.urlopen("http://example.com").read()
GetBoldWords = re.findall(r"<b>[\w\d ]+",siteContent)
print "Bold Words are :"
print getBoldWords
import-urllib,re
siteContent=urllib.urlopen(“http://example.com)改为
GetBoldWords=re.findall(r“[\w\d]+”,siteContent)
打印“粗体字是:”
打印黑体字
因此,在本例中,您必须了解更多关于regex
(正则表达式)
,并获得自己的模式


在某些特定情况下,您可能需要处理客户端(例如,您必须通过
javascript
中的弹出页面提交查询,或者您必须忽略
javascript
中的一些
alert
,然后您必须使用web浏览器api,您可以使用
Selenium
来处理此类问题

是否有一些客户端脚本正在生成/检索table?如果您在浏览器中禁用javascript并尝试访问网页,会发生什么?感谢intrest,我只是将条件放入HTML表单并按搜索,然后生成表。对。您的python代码只是读取来自HTTP请求的原始字符串数据。它没有能力执行任何客户端的页面中可能存在的ide脚本。另一方面,您的浏览器将“运行”页面并执行任何有效的脚本。您需要使用浏览器自动化工具(如Selenium)来获取所需内容。谢谢Joel Cornett!我正在研究Selenium,希望能够解决一些问题。