이 글에서는 Python 크롤러(케이스 포함)에서 lxml-etree와 xpath를 함께 사용하는 방법을 소개합니다. 내용이 매우 자세하여 도움이 되기를 바랍니다.
lxml: Python의 HTML/XML 파서
공식 웹사이트 문서: https://lxml.de/
사용하기 전에 lxml 패키지를 설치해야 합니다.
기능:
1.etree를 사용하세요. HTML(텍스트) 문자열 형식의 HTML 조각을 HTML 문서로 구문 분석합니다
2. xml 파일 읽기
3. etree와 XPath를 함께 사용하세요
lxml설치
[PyCharm]>[파일]>[ 설정]> ;[프로젝트 인터프리터]>[+] >[lxml]>[install]
특정 작업 스크린샷:
케이스 v25 파일: https ://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py25etree.py
lxml을 사용하여 HTML 코드 구문 분석
# 先安装lxml # 用 lxml 来解析HTML代码 from lxml import etree text = '''<p> <ul> <li class="item-0"><a href="0.html">item 0 </a></li> <li class="item-1"><a href="1.html">item 1 </a></li> <li class="item-2"><a href="2.html">item 2 </a></li> <li class="item-3"><a href="3.html">item 3 </a></li> <li class="item-4"><a href="4.html">item 4 </a></li> <li class="item-5"><a href="5.html">item 5 </a></li> </ul> </p>''' # 利用 etree.HTML 把字符串解析成 HTML 文件 html = etree.HTML(text) s = etree.tostring(html).decode() print(s)
Case v26etree2 파일: https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py26etree2.py
xml 파일 읽기 :
# lxml-etree读取文件from lxml import etree xml = etree.parse("./py24.xml") sxml = etree.tostring(xml, pretty_print=True) print(sxml)
Case v26expath 파일: https://xpwi.github.io/py/py%E7%88 %AC%E8% 99%AB/py26expath.py
etree와 XPath가 함께 사용됩니다:
# lxml-etree读取文件from lxml import etree xml = etree.parse("./py24.xml") print(type(xml))# 查找所有 book 节点rst = xml.xpath('//book') print(type(rst)) print(rst)# 查找带有 category 属性值为 sport 的元素rst2 = xml.xpath('//book[@category="sport"]') print(type(rst2)) print(rst2)# 查找带有category属性值为sport的元素的book元素下到的year元素rst3 = xml.xpath('//book[@category="sport"]/year') rst3 = rst3[0] print('-------------\n',type(rst3)) print(rst3.tag) print(rst3.text)
etree 및 xpath의 기본 사용에 대한 자세한 설명
파이썬 크롤러란 무엇인가요? 파이썬을 크롤러라고 부르는 이유는 무엇입니까?
위 내용은 Python 크롤러에서 lxml-etree와 xpath의 결합 사용(대소문자 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!