您好我正在尝试用Python解析网页。此网页位于限制区域内,因此无法提供链接。在此网页中,您可以执行查询,然后将这些查询发布在同一网页上添加但新网址的表格中。当我解析页面时,我得到了除表格之外的所有内容。
我注意到我的查询无关紧要,网址始终相同。所以我总是从我的解析器得到相同的结果,这是没有查询结果的网页(表)。但是,如果我检查网页(在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)
然后我的问题是,还有其他一些方法来识别网页,以便我会收到网页上发布的所有内容吗?
答案 0 :(得分:0)
将基于您的问题,我认为您正在寻找网络报废技术
这就是我的建议 你可以使用常规表达来获取可以用特定模式表达的数据 例如
import urllib,re
siteContent = urllib.urlopen("http://site.com").read()
GetBoldWords = re.findall(r"<b>[\w\d ]+",siteContent)
print "Bold Words are :"
print getBoldWords
所以在这种情况下,您必须了解有关正则表达式(regular expression)
的更多信息并获得自己的模式
在某些特定情况下,您可能需要处理客户端(例如,您必须通过javascript
的弹出页面提交查询,或者您必须忽略alert
中的某些javascript
然后你必须使用网页浏览器api,你可以使用Selenium
来处理这类问题