다음 편집기는 Python 크롤러의 xlml 구문 분석 라이브러리에 대한 기사를 제공합니다(포괄적 이해). 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리고자 합니다. 편집자를 따라가서 살펴보겠습니다
1.Xpath
XQuery와 xpoint는 모두 xpath 표현식
2. 노드
부모, 자식, 형제, 조상, 자손
3. 노드 선택
경로 표현식
표현식 | 설명 | 경로 표현식 | 결과 |
nodename | 이 노드의 모든 하위 노드 선택 | bookstore | bookstore 요소의 모든 하위 노드 선택 |
/ | 에서 선택 루트 노드 | /bookstore | 루트 요소 bookstore를 절대 경로로 선택 |
// | 위치에 상관없이 문서 내 선택 노드와 일치하는 현재 노드에서 선택 | //book | 모든 책 선택 문서에서의 위치에 관계없이 하위 요소 |
. | 현재 노드 선택 | bookstore//book | 서점 하위 항목 선택 |
.. | 의 모든 책 요소 선택 | 현재 노드의 상위 노드 선택 node |
|
@ | 속성 선택 | //@lang |
Predicate
이라는 이름의 모든 속성 선택 특정 노드를
찾기하는 데 사용됩니다. 또는 지정된 값을 포함하는 노드
Path 표현 | |
/bookstore/book[1] | |
/bookstore/book[last()] | |
/bookstore/book[last()-1] | |
/bookstore/book[position()d75450ce6e73448eef3179fbd122728335.0] |
알 수 없는 노드 선택(와일드카드)
* 모든 요소 노드와 일치
@* 모든 속성 노드와 일치
node() 모든 유형의 노드와 일치4.lxml 사용법
#!/usr/bin/python #_*_coding:utf-8_*_ from lxml import etree text=''' <p> <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> </p> ''' # 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 #获取倒数第二个元素的内容
위 내용은 Python 크롤러 xlml 구문 분석 라이브러리에 대한 포괄적인 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!