我在Python中使用urllib和urllib2打开和阅读网页,但有时,我得到的文本不可读。例如,如果我运行此命令:

import urllib

text = urllib.urlopen('http://tagger.steve.museum/steve/object/141913').read()
print text


我收到一些不可读的文本。我已阅读以下文章:

Gibberish from urlopen

Does python urllib2 automatically uncompress gzip data fetched from webpage?

但似乎找不到我的答案。

预先感谢您的帮助!



更新:我通过“说服”服务器我的用户代理是浏览器而不是爬网程序来解决该问题。

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()


谢谢大家的回复。

最佳答案

您可以使用Selenium来获取内容。下载服务器和客户端驱动程序,运行服务器并运行以下命令:

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

关于python - 为什么从页面检索的文本有时看起来像胡言乱语?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8271484/

10-16 17:42