【发布时间】:2015-02-04 20:53:45
【问题描述】:
我有一些指向 txt 文件的 url 地址,该文件包含 html 代码。这是一个示例链接:
http://www.sec.gov/Archives/edgar/data/70858/000119312507058027/0001193125-07-058027.txt
我想用BeautifulSoup用这样的代码阅读这段html代码:
from bs4 import BeautifulSoup
import urllib2
url = "http://www.sec.gov/Archives/edgar/data/70858/000119312507058027/0001193125-07-058027.txt"
page = urllib2.urlopen(url)
soup = BeautifulSoup(page.read())
print (soup.prettify())
但是,我遇到了很多错误,例如:
File "C:/Users/.../aa.py", line 7, in <module> print (soup.prettify())
File "build\bdist.win32\egg\bs4\element.py", line 1097, in prettify
return self.decode(True, formatter=formatter)
我怀疑会发生这种情况,因为 URL 是 txt 文件而不是 html。我对吗?如果是这样,有人可以告诉我这里的解决方案是什么吗?
【问题讨论】:
-
你是对的。 BeautifulSoup 专门用于处理 html 和 xml 文件。如果您只想要纯文本,那应该位于您称为
page的变量中。尝试print page确认您想要的文字在那里。 -
非常感谢@eigenchris!是的,页面在那里,但是因为我想从那种代码中提取一些表,所以我需要以某种方式将它放入 bs。你对此有什么建议吗?
-
您可以删除不在
<html>和</html>标签之间的所有内容。从那里你会有一个有效的 html 文件,你可以用 BeautifulSoup 解析。
标签: python beautifulsoup