【发布时间】:2012-12-24 05:03:23
【问题描述】:
我想在一个网站上阅读几页的内容,对于少数几个,我的代码可以正常工作,但对于其余部分则不行。出现奇怪的字符:Å,Ä...等等。
articles = ""
url = "http://www.someurl.com"
sock = urllib.urlopen(url)
content = sock.read()
sock.close()
soup = BeautifulSoup(content)
div = soup.find("div", class_="col-d")
ps = div.find_all("p")
for p in ps:
print type(p.get_text())
print type(p.get_text().encode('utf-8'))
print p.get_text()
输出是:
<type 'unicode'><type 'str'>różni się znacząco. Dziś, zgodnie z danymi Lion’s House i Home Brokera, przeciętnego zapłacić niespełna 2,1 tys. zł miesięcznie. Gdyby taką samą nieruchomość kupić na kredyt, to w pierwszym roku część ods
您知道任何解决方案可以实现这项工作吗?
【问题讨论】:
-
拨打
print(sock.headers['content-type'])会得到什么? -
@Jason Sperske: text/html; charset=utf-8
-
使用 Requests library 这似乎有效:
print requests.get("http://pl.bab.la/slownik/polski-niemiecki/zgodnie-z").text也许您的 URL 错误地报告了它的字符编码 -
stackoverflow.com/questions/7219361/… 这似乎是信息冲突的问题
-
成功了,非常感谢:)
标签: python encoding beautifulsoup decoding