html 코드는 숨김이며 html에 "PRICE"문자열을 포함합니다. 이 부분 문자열은 html 텍스트와 일치해야합니다. xpath를 사용하여 텍스트가 일치하면 (부분 일치) 특정 html 태그 경로를 반환해야합니다.xpath를 사용하여 부분 문자열 일치 html 태그 가져 오기
참고 :
html="""<div id = "price_id">
<span id = "id1"></span>
<div class="price_class">
<bold>
<strong>
<label>PRICE:</label> 125 Rs.
</bold>
</strong>
</br>
</br>
</div>"""
: 나는이 예입니다
(부모 태그를 가져 오기, "가격"을 찾기위한) 여러 sites.I는 일반 규칙 를 사용해야한다이 논리를 자동화해야
나는이 XPath 식을 사용하여 작성 될 어떻게
from lxml.html.clean import Cleaner
cleaner =Cleaner(page_structure=False)
cl = cleaner.clean_html(html)
cleaned_html = fromstring(cl)
for element in cleaned_html:
if element.text == 'PRICE':
print "matched"
LXML 사용?
xpath 표현식을 사용하여 div 클래스 경로를 얻어야합니다.
또한 문제는 "PRICE :"문자열을 찾는 경우입니다. 부모 유효 태그은 클래스 이름이 "price_class"인 "div"이어야합니다. 그러나 여기 내가 에이 건너 뛰거나 원하지 않는 태그를 글꼴, 굵게, 기울임 꼴과 같은을 제거해야 ...
당신은 위치 문자열의 부모 유효한 태그를 얻기 위해 나에게 제안시겠습니까?
여기 HTML 소스 코드를 볼 수 없습니다. 따라서 속성과 태그를 수동으로 사용할 수 없습니다. 다른 사이트에서는 태그와 클래스가 다양 할 것입니다. 많은 사이트에서이 논리를 자동화해야합니다. 대신에 (label, price_class)를 언급하는 대신에 일반 규칙 – Nava
@ saravana를 사용해야 할 수도 있습니다. 대답에 대한보다 일반적인 해결책이 추가되었습니다. – reclosedev
고마워하는 친구 :-) 한 가지 의심의 여지가 있습니다. 텍스트를 대문자로 변환해야합니다(). 나는 대문자 (text()) 'price'를 시도했다. 그러나 – Nava