2013-04-04 73 views
0

我只是想解析這個網站,我不斷使用BeautifulSoup得到錯誤。有人可以幫助我並找出問題嗎?Python 3.3中的BeautifulSoup錯誤

import urllib 
import urllib.request 
import beautifulsoup 




html = urllib.request.urlopen('http://yugioh.wikia.com/wiki/Card_Tips:Blue-Eyes_White_Dragon').read() 
soup = beautifulsoup.bs4(html) 
texts = soup.findAll(text=True) 

def visible(element): 
    if element.parent.name in ['style', 'script', '[document]', 'head', 'title']: 
     return False 
    elif re.match('<!--.*-->', str(element)): 
     return False 
    return True 

visible_texts = filter(visible, texts) 

回答

0

你已經混淆了模塊和類名。而不是:

import beautifulsoup 

您需要:

import bs4 

而不是:

beautifulsoup.bs4(...) 

您需要:

bs4.BeautifulSoup(...) 

此外,在美麗的湯的最新版本,下劃線變體比駱駝-c更受歡迎名字的ASE變種,因爲它具有更好的其他Python約定適合:

soup.find_all(...) 

而且,這取決於你與visible_texts做,你可能需要一個list,而不是一個懶惰的filter

visible_texts = list(filter(visible, texts)) 
+0

就是這樣,謝謝! – user1985351 2013-04-04 03:22:02