【发布时间】:2013-12-21 17:43:28
【问题描述】:
我在解析网页Herald Sun 以从中获取 rss 列表时遇到了这个奇怪的问题。当我在浏览器中查看网页时,我可以看到带有标题的链接。但是,当我使用 Python 和 Beautiful Soup 解析页面时,响应中甚至没有我想要解析的部分。
hdr = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9) AppleWebKit/537.71 (KHTML, like Gecko) Version/7.0 Safari/537.71',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'Accept-Encoding': 'none',
'Accept-Language': 'en-US,en;q=0.8',
'Connection': 'keep-alive'}
req = urllib.request.Request("http://www.heraldsun.com.au/help/rss", headers=hdr)
try:
page = urllib.request.urlopen(req)
except urllib.error.HTTPError as e:
print(e.fp.read())
html_doc = page.read()
f = open("Temp/original.html", 'w')
f.write(html_doc.decode('utf-8'))
你可以查看的写入文件,里面没有结果,所以很明显,Beautiful Soup 与这里无关。
我想知道,网页如何启用这种保护以及如何克服它?谢谢,
【问题讨论】:
标签: python parsing html-parsing beautifulsoup urllib