[英]Find a HTML tag that contains certain text
所以我試圖在網站 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
您正在混合您的數據(作為屬性)和您正在尋找的文本。
有了給定的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}})]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.