簡體   English   中英

查找包含特定文本的 HTML 標簽

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM