진급을 위한 필수품! lxml 선택기 사용 팁과 지원되는 선택기 목록!
개요:
선택기는 웹 데이터 스크래핑이나 데이터 추출을 수행할 때 매우 중요한 도구입니다. Python에는 선택할 수 있는 선택기 라이브러리가 많이 있으며, 그중 lxml이 강력한 선택기 라이브러리입니다. 이 기사에서는 lxml 선택기의 사용 기술과 지원되는 선택기 목록을 소개하여 독자가 데이터 추출 효율성을 더욱 향상시킬 수 있도록 돕습니다.
1. lxml 선택기 소개
lxml은 HTML 및 XML 문서를 구문 분석하기 위한 확장 가능한 XPath 선택기와 CSS 선택기를 제공하는 Python 기반 파서 라이브러리입니다. lxml 선택기의 가장 큰 장점은 빠르고 강력하며 대용량 파일 처리에 적합하다는 것입니다. lxml 선택기를 사용하기 전에 먼저 lxml 라이브러리를 설치해야 합니다.
pip install lxml
2. lxml 선택기의 기본 사용법
lxml 선택기의 기본 사용법은 매우 간단합니다. 해당 모듈을 가져오고 선택기 개체를 만든 다음 선택기 개체를 사용하여 데이터를 추출하면 됩니다.
먼저 lxml 라이브러리와 해당 모듈을 가져옵니다.
from lxml import etree
그런 다음 HTML 또는 XML 문서를 구문 분석하고 선택기 개체를 만듭니다.
# 解析HTML文档 html = ''' <html> <body> <div class="container"> <h1>标题1</h1> <p class="content">内容1</p> </div> <div class="container"> <h1>标题2</h1> <p class="content">内容2</p> </div> </body> </html> ''' # 创建选择器对象 selector = etree.HTML(html)
다음으로 선택기 개체를 사용하여 데이터를 추출할 수 있습니다. lxml 선택기는 XPath 선택기와 CSS 선택기를 지원합니다. 해당 사용법은 아래에 소개됩니다.
XPath(XML 경로 언어)는 XML 또는 HTML 문서의 정보를 탐색하고 추출하는 데 사용되는 언어입니다. lxml 선택기는 추출할 요소를 정확하게 찾을 수 있는 XPath 선택기를 지원합니다.
일반적인 XPath 구문에는 다음이 포함됩니다.
/
, //
, []
/
、//
、[]
@
text()
..
以下是几个XPath选择器的示例:
# 提取h1标签的文本 titles = selector.xpath('//h1/text()') print(titles) # 输出:['标题1', '标题2'] # 提取p标签的属性class值 classes = selector.xpath('//p/@class') print(classes) # 输出:['content', 'content']
CSS(Cascading Style Sheets)选择器是一种用于在HTML文档中选择元素的语言。lxml选择器也支持CSS选择器,通过CSS选择器可以通过标签、类、ID等方式进行元素的定位。
常见的CSS选择器包括:
.类名
#ID名
+
~
以下是几个CSS选择器的示例:
# 提取h1标签的文本 titles = selector.cssselect('h1') for title in titles: print(title.text) # 输出:标题1、标题2 # 提取p标签的属性class值 classes = selector.cssselect('p.content') for p in classes: print(p.get('class')) # 输出:content、content
三、lxml选择器支持的选择器一览
lxml选择器支持的选择器包括XPath选择器和CSS选择器,下面是一些常用的选择器:
XPath选择器:
/
:选择根节点//
:选择所有节点[]
:条件选择@
:选择属性text()
:选择文本..
:选择父节点CSS选择器:
.类名
#ID名
+
~
@
text()
상위 노드 선택: ..
rrreee
.클래스 이름
🎜🎜ID 선택: #ID 이름
🎜🎜부모 선택- 하위 관계: 공백 🎜🎜인접 형제 관계 선택: +
🎜🎜다음 형제 관계 선택: ~
🎜🎜🎜다음은 CSS 선택자의 몇 가지 예입니다: 🎜rrreee 🎜3. lxml 선택기가 지원하는 선택기 목록 🎜🎜 lxml 선택기가 지원하는 선택기에는 XPath 선택기와 CSS 선택기가 포함됩니다. 다음은 일반적으로 사용되는 선택기입니다. 🎜🎜🎜🎜XPath 선택기: 🎜🎜🎜/
: 루트 선택 node🎜🎜//
: 모든 노드 선택🎜🎜[]
: 조건부 선택🎜🎜@
: 속성 선택 🎜🎜text( )
: 텍스트 선택 🎜🎜..
: 상위 노드 선택 🎜🎜🎜🎜🎜CSS 선택기: 🎜🎜🎜 태그 선택기: 태그 이름 🎜🎜클래스 선택기: .클래스 이름
🎜🎜ID 선택기: #ID 이름
🎜🎜아버지-자식 관계: 공백🎜🎜인접 형제 관계: +🎜🎜다음 형제 관계: <code>~
🎜🎜🎜🎜🎜위의 일반적으로 사용되는 선택자 외에도 lxml은 위치 선택자, 속성 선택자 등과 같은 더 많은 선택자를 지원합니다. 독자는 lxml의 공식 문서를 확인하여 심층적인 연구를 수행할 수 있습니다. 이해. 🎜🎜결론: 🎜🎜lxml 선택기는 HTML 및 XML 문서의 구문 분석 및 데이터 추출에 적합한 XPath 선택기와 CSS 선택기를 지원하는 강력한 선택기 라이브러리입니다. 이 글에서는 lxml 선택기의 기본 사용법과 일반적으로 사용되는 선택기를 소개합니다. 학습과 실습을 통해 lxml 선택기를 더욱 숙달하고 적용하여 데이터 추출의 효율성과 정확성을 높일 수 있기를 바랍니다. 🎜
위 내용은 실력을 향상하려면 마스터해야 합니다! lxml 선택기 팁 및 지원되는 선택기 요약!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!