Why does text retrieved from pages sometimes look like gibberish?
我在Python中使用urllib和urllib2来打开和阅读网页但有时候,我得到的文字是不可读的。 例如,如果我运行这个:
1 2 3 4 | import urllib text = urllib.urlopen('http://tagger.steve.museum/steve/object/141913').read() print text |
我得到一些难以理解的文字。 我看过这些帖子:
从urlopen的胡言乱语
python urllib2会自动解压缩从网页获取的gzip数据吗?
但似乎无法找到我的答案。
预先感谢您的帮助!
更新:我通过"说服"服务器我的用户代理是浏览器而不是爬虫来解决问题。
1 2 3 4 5 6 7 | import urllib class NewOpener(urllib.FancyURLopener): version = 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.2 (KHTML, like Gecko) Ubuntu/11.10 Chromium/15.0.874.120 Chrome/15.0.874.120 Safari/535.2' nop = NewOpener() html_text = nop.open('http://tagger.steve.museum/steve/object/141913').read() |
谢谢大家的回复。
这个乱码是对
要获得此内容,您需要执行此JavaScript,这在Python中可能是一项非常困难的任务。 如果您仍想这样做,请查看
您可以使用Selenium来获取内容。 下载服务器和客户端驱动程序,运行服务器并运行:
1 2 3 4 5 6 7 8 | from selenium import selenium s = selenium("localhost", 4444,"*chrome","http://tagger.steve.museum") s.start() s.open("/steve/object/141913") text = s.get_html_source() print text |