2016-09-16 2 views
2

그래서 웹 사이트 HTML 소스 파일에서 특정 문자열을 찾으려고합니다.특정 텍스트가 포함 된 HTML 태그 찾기

나는 HTML 태그 다음과 같은 경우

예) 나는 "123456789adfdfdfdfadf"

를 인쇄 내부에와 div class = "rev" 및 데이터를 포함하는이 특정 라인을 찾을 수 있도록하려면 그러나

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

그 전에 난 그냥 그 오른쪽 태그를 찾을 수 있는지 확인하려고하지만 난 내 코드 출력

[]을이되어지고 유지

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

'바인드합니다은 = { '클래스': '데이터'} '잘못 보이는, 그것을 '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

관련 문제