所以我试图在网站html源文件中找到一个特定的字符串。
Ex)如果我有以下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 :(得分: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}})]