2013-09-23 45 views
0

我試圖找到具有特定idimg標籤;
該元素存在但BeautifulSoup找不到它!
我的代碼是:BeautifulSoup在它們存在時找不到某些元素

pic=urllib2.urlopen("http://www.imdb.com/media/rm2826217216/nm0334441?ref_=nmmi_mi_all_sf_1") 
    pichtml=pic.read() 
    picsoup=BeautifulSoup(pichtml) 
    picurl=picsoup.find_all("img",{"id":"primary-img"}) 

當我試圖同時也有大量的圖片在頁面picsoup.find_all("img")只有1圖像被發現!
問題是什麼?

+0

您的代碼只返回一個圖像,因爲您使用的是'soup.find'而不是'soup.find_all',正如您所評論的那樣。你的代碼/問題應該糾正嗎? – TerryA

+0

你確定你沒有使用'find_all'並仍然提供一個'id' ...這個應該只返回一個圖像... –

+0

@Haidro:對於'picsoup.find'它返回'None' – RYN

回答

3

我以前遇到過這個問題,我可以通過指定一個不同的默認分析器解析它。雖然我不知道確切的原因,但我認爲這是由於differences in the way each parser treats html

因此,可能會指定解析器將解決它,例如。

picsoup=BeautifulSoup(pichtml, 'html.parser') 
相關問題