Python 파충류 의 xlml 분석 라 이브 러 리(전면 이해)
3285 단어 python파충xlml분석 라 이브 러 리
Xpath 는 XML 에서 정 보 를 찾 는 언어 로 XML 문서 에서 요소 와 속성 을 옮 겨 다 닐 수 있 습 니 다.XQuery 와 xpoint 는 모두 xpath 표현 위 에 구축 되 어 있 습 니 다.
2.노드
아버지(parent),아들(children),형제(sibling),선배(ancetstor),후손(Decendant)
3.노드 선택
경로 식
표현 식
묘사 하 다.
경로 식
결실
nodename
이 노드 의 모든 하위 노드 선택
bookstore
bookstore 요소 의 모든 하위 노드 선택
/
루트 노드 에서 선택
/bookstore
루트 요소 bookstore 를 절대 경로 로 선택 하 십시오.
//
선택 한 현재 노드 와 일치 하 는 문서 의 노드 를 선택 하고 위 치 를 고려 하지 않 습 니 다.
//book
문서 의 위치 에 상 관 없 이 모든 북 하위 요 소 를 선택 하 십시오.
.
현재 노드 선택
bookstore//book
bookstore 후대 에 있 는 모든 북 요 소 를 선택 하 십시오.
..
현재 노드 의 부모 노드 선택
@
속성 선택
//@lang
lang 이라는 이름 의 모든 속성 을 선택 하 십시오.
술어
서술 어 는 특정한 노드 나 특정한 값 을 포함 하 는 노드 를 찾 는 데 쓰 인 다.
서술 어 는 괄호 안에 박 혀 있다.
경로 식
결실
/bookstore/book[1]
bookstore 하위 요소 에 속 하 는 첫 번 째 북 요 소 를 선택 하 십시오.
/bookstore/book[last()]
bookstore 하위 요소 에 속 하 는 마지막 북 요 소 를 선택 하 십시오.
/bookstore/book[last()-1]
bookstore 하위 요소 에 속 하 는 마지막 두 번 째 북 요 소 를 선택 하 십시오.
/bookstore/book[position()<3]
맨 앞 에 있 는 bookstore 요소 에 속 하 는 두 개의 하위 요소 의 북 요 소 를 선택 하 십시오.
//title[@lang='eng']
모든 title 요 소 를 선택 하고 이 요소 들 은 eng 의 lang 속성 을 가지 고 있 습 니 다.
/bookstore/book[price>35.0]
bookstore 요소 의 모든 북 요 소 를 선택 하고 price 값 은 35.0 이상 입 니 다.
알 수 없 는 노드 선택(어댑터)
*모든 요소 노드 와 일치
@*모든 속성 노드 와 일치 합 니 다.
node()모든 종류의 노드 와 일치 합 니 다.
4.lxml 사용법
#!/usr/bin/python
#_*_coding:utf-8_*_
from lxml import etree
text='''
<div>
<ul>
<li class="item-0"><a href="link1.html" rel="external nofollow" rel="external nofollow" >first item</a></li>
<li class="item-1"><a href="link2.html" rel="external nofollow" >second item</a></li>
<li class="item-inactive"><a href="link3.html" rel="external nofollow" >third item</a></li>
<li class="item-1"><a href="link4.html" rel="external nofollow" >fourth item</a></li>
<li class="item-0"><a href="link5.html" rel="external nofollow" >fifth item</a>
</ul>
</div>
'''
# html=etree.HTML(text) #html , ,
# result=etree.tostring(html) # html
html=etree.parse('hello.html')
# result=etree.tostring(html,pretty_print=True)
# print result
print type(html)
result= html.xpath('//li')
print result
print len(result)
print type(result)
print type(result[0])
print html.xpath('//li/@class') # li class
print html.xpath('//li/a[@href="link1.html" rel="external nofollow" rel="external nofollow" ]') # li href link1 <a>
print html.xpath('//li//span') # li span
print html.xpath('//li[last()-1]/a')[0].text #
이 파 이 썬 파충류 의 xlml 해석 라 이브 러 리(전면 이해)는 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.참고 해 주시 고 많은 응원 부 탁 드 리 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.