XPath를 BeautifulSoup과 통합할 수 있나요?
HTML 구문 분석 라이브러리인 BeautifulSoup을 사용하면 사용자는 findAll과 같은 메서드를 사용하여 특정 태그를 검색할 수 있습니다. 그러나 XPath 표현식에 대한 지원은 부족합니다.
Enter lxml
lxml은 XPath 지원을 제공하고 BeautifulSoup 호환 모드를 제공합니다. lxml의 표준 HTML 파서는 손상된 HTML을 처리하는 데 있어 BeautifulSoup과 비슷한 성능을 발휘하며 잠재적으로 더 빠른 처리를 제공합니다.
lxml의 XPath 기능을 사용하려면:
lxml 및 요청 라이브러리의 예
import lxml.html import requests url = "http://www.example.com/servlet/av/ResultTemplate=AVResult.html" response = requests.get(url, stream=True) response.raw.decode_content = True tree = lxml.html.parse(response.raw) tree.xpath(xpathselector)
lxml을 통한 CSS 선택기 지원
CSSSelector 클래스는 CSS 구문을 XPath 표현식으로 변환하여 특정 요소 검색을 단순화합니다.
from lxml.cssselect import CSSSelector td_empformbody = CSSSelector('td.empformbody') for elem in td_empformbody(tree): # Process found elements.
BeautifulSoup의 CSS 선택기 지원
BeautifulSoup은 기본적으로 lxml의 CSSSelector 클래스와 동일한 기능을 허용하는 포괄적인 CSS 선택기 지원을 제공합니다.
for cell in soup.select('table#foobar td.empformbody'): # Process found elements.
위 내용은 lxml의 XPath 기능을 BeautifulSoup과 통합할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!