我已经开始学习如何使用urllib和beautifulsoup从网站上抓取信息。我想从这个页面中获取所有文本(在代码中)并将其放入文本文件中。
import urllib
from bs4 import BeautifulSoup as Soup
base_url = "http://www.galactanet.com/oneoff/theegg_mod.html"
url = (base_url)
soup = Soup(urllib.urlopen(url))
print(soup.get_text())
当我运行它时它会抓取文本,虽然它输出所有字母之间的空格并仍然显示HTML,但不确定为什么。
i n ' > Y u p . B u t d o n t f e e
就像那样,任何想法都是?
另外,我该如何将此信息放入文本文件?
(使用beautifulsoup4并运行ubuntu 12.04和python 2.7)
谢谢:)
答案 0 :(得分:0)
您可以尝试使用html2text
:
import html2text as htmlconverter
print htmlconverter.html2text('<HTML><BODY>HI</BODY></HTML>')
答案 1 :(得分:0)
我在编码方面遇到了一些麻烦,所以我稍微改了你的代码,然后添加了一块来将结果打印到文件中:
import urllib
from bs4 import BeautifulSoup as Soup
base_url = "http://www.galactanet.com/oneoff/theegg_mod.html"
url = (base_url)
content = urllib.urlopen(url)
soup = Soup(content)
# print soup.original_encoding
theegg_text = soup.get_text().encode("windows-1252")
f = open("somefile.txt", "w")
f.write(theegg_text);
f.close()