처음부터 시작하여 lxml이 어떤 선택기를 지원하는지 알아보세요!
Selector는 웹페이지 구문 분석 및 데이터 추출 과정에서 매우 중요한 도구 중 하나입니다. lxml은 웹 페이지에서 콘텐츠를 보다 쉽게 찾고 추출하는 데 도움이 되는 다양한 선택기를 제공하는 강력한 Python 라이브러리입니다. 이 기사에서는 lxml이 지원하는 몇 가지 일반적인 선택기를 소개하고 간단한 예제 데모를 제공합니다.
lxml은 C 언어 기반의 고성능 HTML 및 XML 파서로 Python의 자체 파서보다 속도와 메모리 사용량이 더 좋습니다. lxml은 일반적으로 사용되는 두 가지 선택기 구문인 XPath 및 CSS 선택기를 지원합니다. 아래에서는 각각의 사용법을 소개합니다.
XPath는 경로 표현식을 통해 노드를 찾는 XML 경로 표현 언어 기반 선택기입니다. lxml에서 XPath 구문을 사용하는 것은 매우 간단합니다. xpath() 메서드를 사용하면 됩니다. 다음은 XPath 표현식의 몇 가지 예입니다.
from lxml import etree html = """ <html> <body> <div class="content"> <h1>标题</h1> <ul> <li>列表1</li> <li>列表2</li> <li>列表3</li> </ul> </div> </body> </html> """ # 创建解析器对象 parser = etree.HTMLParser() # 解析HTML tree = etree.parse(html, parser) # 使用XPath选择器 title = tree.xpath("//h1/text()")[0] print(title) # 输出:标题 # 获取所有列表项 items = tree.xpath("//li") for item in items: print(item.text) # 输出:列表1 列表2 列表3
CSS 선택기는 스타일을 지정하여 요소를 선택하는 일반적으로 사용되는 선택기 구문입니다. lxml에서 CSS 선택기를 사용하려면 cssselect 라이브러리를 사용할 수 있습니다. 다음은 CSS 선택기의 몇 가지 예입니다.
from lxml import etree from lxml.cssselect import CSSSelector html = """ <html> <body> <div class="content"> <h1>标题</h1> <ul> <li>列表1</li> <li>列表2</li> <li>列表3</li> </ul> </div> </body> </html> """ # 创建解析器对象 parser = etree.HTMLParser() # 解析HTML tree = etree.parse(html, parser) # 使用CSS选择器 selector = CSSSelector("h1") title = selector(tree)[0].text print(title) # 输出:标题 # 获取所有列表项 selector = CSSSelector("li") items = selector(tree) for item in items: print(item.text) # 输出:列表1 列表2 列表3
위의 예를 통해 lxml의 선택기가 매우 유연하고 단순하다는 것을 알 수 있습니다. 위에 소개된 기본 사용법 외에도 lxml은 선택기 조합, 선택기 중첩 등과 같은 더 복잡한 선택기 작업도 지원합니다.
요약하자면, lxml은 일반적으로 사용되는 두 가지 선택기 구문인 XPath 및 CSS 선택기를 지원하는 강력한 HTML 및 XML 구문 분석 라이브러리입니다. lxml의 선택기를 사용하면 웹 페이지의 콘텐츠를 빠르고 정확하게 찾고 추출할 수 있으므로 후속 데이터 처리 및 분석이 용이해집니다. 이 글이 독자들이 lxml의 선택자 기능을 이해하고 실제 프로젝트에 완벽하게 적용되는 데 도움이 되기를 바랍니다.
위 내용은 lxml 선택기에 대한 기본 초보자 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!