2016-09-16 66 views
2

所以我想在網站的html源文件中找到一個特定的字符串。找到一個包含特定文本的HTML標籤

例)如果我有以下的HTML標籤

<div class="rev" data="123456789adfdfdfdfadf"></div> 

我希望能夠找到包含div class = "rev"和數據都在裏面和這一行打印出來"123456789adfdfdfdfadf"

但在此之前我這樣做, ,我只是想確保它找到正確的標籤,但我一直得到[]作爲輸出

這是我的代碼

import urllib2 
from BeautifulSoup import BeautifulSoup 
import re 
request = urllib2.Request("http://www.adidas.co.uk/nmd_r1-shoes/BB1970.html") 
request.add_header("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5") 

f = urllib2.urlopen(request) 
soup = BeautifulSoup(f) 

d = soup.findAll('div', text = re.compile('123456789adfdfdfdfadf'), attrs = {'class' : 'data'}) 
print d 
+0

'ATTRS = { '類': '數據'}'看起來錯了,應該是''class':'rev',如果有的話。 –

回答

1

你正在混合你的數據(作爲屬性)和你正在尋找的文本。
隨着給出的div,你應該找到它:

print [item["data"] 
     for item in soup.find_all('div', {'_class': 'rev'}) 
     if "data" in item.attrs] 

或者有點更準確:

[item['data-bin'] 
for item in soup.find_all('div', {'_class': 'rev', attrs={'data-bin' : True}})] 
+1

謝謝。這很好。不得不將其改爲bs4 – whatislife

相關問題