2012-10-17 70 views
1

我已經開始學習如何使用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

我遇到了一些麻煩的編碼,所以我稍微更改了您的代碼,然後添加該部分以將結果打印到文件中:

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

謝謝,效果很好:) – RetroCoNoR

+0

非常好 - 很高興它解決了! – David

0

你可以嘗試使用html2text

import html2text as htmlconverter 
print htmlconverter.html2text('<HTML><BODY>HI</BODY></HTML>')