2014-03-30 121 views
1

我想,我使用BeautifulSoup HTML文檔拉到獨立的位置信息和電影標題的信息。錯誤信息:「NoneType」對象有沒有屬性「分裂」

我從線拉的信息是這樣的:

<div class="filmo-row even" id="writer-tt1308667"> 

而且我想在 「作家」 和 「tt1308667」 分離 「 - 」

我的代碼是:

i=0 
b = soup.find_all('div') 
for row in b: 
    Position_ttcode=row.get('id') 
    print Position_ttcode 
    split=Position_ttcode.split('-') 

我得到的錯誤:

AttributeError: 'NoneType' object has no attribute 'split' 

我錯過了什麼?請幫忙!

+0

該行實際上是否有ID? – user2357112

+0

另外,你可以顯示完整的堆棧跟蹤? – user2357112

+0

不知道如何顯示完整的堆棧跟蹤,但打印Position_ttcode給人這樣的:男主角tt2133326 演員tt0121955 無 無 無 無 無 更發作-tt0121955-演員 無 演員tt1308667 演員tt0372588 演員tt0338479 演員tt0263206 演員tt0267939 演員tt0158983 演員tt0169299 演員tt1626206 演員tt0470926 演員tt0205423 演員tt0131857 演員tt0124819 – user3457847

回答

1

問題是,並非所有頁面上的div元素都具有id屬性。

你應該到find_all()提供任何類名或ID atrribute縮小搜索範圍:

for div in soup.find_all("div", {'class': 'filmo-row'}): 
    print div.get('id') 

,或者例如,您可以檢查是否divid屬性,該屬性包含writer-文本由使用re模塊:

for div in soup.find_all("div", {'id': re.compile('writer-'}): 
    print div.get('id') 

希望有所幫助。

+0

真的有幫助!非常感謝:D! – user3457847

相關問題