2017-02-24 79 views
1

我試圖找到標記中是否存在特定標題,如果標記中未包含該標題,請在t變量中打印文本。 到目前爲止,我可以拉標籤的整個「TD」有:查找標記BS4中是否存在標題

for t in soup.findAll("td",{"class" : "someClass"}): 

但是當我使用:

title = "someTitle" 
if title in t: 
    print "contains title" 
else: 
    print "doesn't contain title 

似乎它不看的標題和傳球的存在無論如何,通過一切。我做錯了什麼?

示例HTML:

<html> 
<body> 
    <td class="someClass"> 
    <td> 
    Text 
    </td> 
    <img title ="someTitle"> 
    </td> 
</body> 
</html> 
+0

你HTML時投入beautifulsoup:' ​​ 文本 '其中''甚至不是內部的'' –

+0

你不能在另一個單元格中有一個'​​'單元格,只是造成美觀問題。 –

+0

在實際的html中,它包含了包含在單個td中的所有內容。有沒有辦法規避這與bs4? – Gaddi

回答

0

雖然<td>不能嵌套<td>,我們能以某種方式在這裏提取圖像稱號。

的Python 2代碼:

from BeautifulSoup import BeautifulSoup as bs 
html = ''' 
<html> 
<body> 
    <td class="someClass"> 
    <td> 
    Text 
    </td> 
    <img title ="someTitle"> 
    </td> 
</body> 
</html> 
''' 
soup = bs(html) 
tds = soup.findAll("td",{"class":"someClass"}) 
for td in tds: 
    td_pretty = td.prettify() 
    td_split_list = [line.strip() for line in td_pretty.split("\n")] 
    img = bs(td_split_list[4]) 
    print img.find("img").get("title") 

輸出:

someTitle 

我們已經使用BeautifulSoup的美化方法(see documentation here

相關問題