一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 一文掌握Python爬蟲XPath語法

一文掌握Python爬蟲XPath語法

2022-03-03 10:48王曦 Python

這篇文章主要介紹了一文掌握Python爬蟲XPath語法,xpath是一門在XML和HTML文檔中查找信息的語言,可用來在XML和HTML文檔中對元素和屬性進行遍歷,XPath 通過使用路徑表達式來選取 XML 文檔中的節點或者節點集。下面會更學習的介紹,需

本文轉自微信公眾號:"算法與編程之美"

一、問題描述

1.什么是XPath?

xpath是一門在XMLHTML文檔中查找信息的語言,可用來在XMLHTML文檔中對元素和屬性進行遍歷,XPath 通過使用路徑表達式來選取 XML 文檔中的節點或者節點集。這些路徑表達式和在常規的電腦文件系統中看到的表達式非常相似。

二、解決方案

1.XPath語法

想要學好xpath,首先要搞明白html文檔中的節點。

?
1
2
3
4
5
6
7
8
9
<div>
     <ul>
          <li class="item-0"><a href="link1.html" 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> # 注意,此處缺少一個 </li> 閉合標簽
      </ul>
  </div>

以上是在網上隨便找的一段html的文本,可以觀察得到,div的標簽下是ul標簽,而ul標簽下是li標簽,于是發現html的標簽是一級一級如樹狀的。Xpath正是通過這樣的方式去尋找。以生活中舉例,要確定一個人的位置,首先確定他在中國,然后確定他在某個省份,哪座城市,那個小區,最后找到他。

 

表達式

描述

Nodename

選取此節點的所有子節點 bookstore 選取bookstore下所有的子節點

/

如果是在最前面,代表從根節點選取。否則選擇某節點下的某個節點 /bookstore 選取根元素下所有的bookstore節點

//

從全局節點中選擇節點,隨便在哪個位置 //book 從全局節點中找到所有的book節點

@

選取某個節點的屬性 //book[@price] 選擇所有擁有price屬性的book節點

.

當前節點

Text()

獲取標簽中的文本

 

同級標簽可以用li[1] ,li[2] ,li[3]的方式獲取

2.lxml庫

簡單介紹一下lxml庫,接下來會用到它

lxml是一個HTML/XML的解析器,主要的功能是如何解析和提取HTML/XML 數據。

lxml和正則一樣,也是用C實現的,是一款高性能的PythonHTML/XML解析器,可以利用之前學習的XPath語法,來快速的定位特定元素以及節點信息。

3.實際案例

隨便爬取一個網站,找到找到網站的html文本

如下圖:

一文掌握Python爬蟲XPath語法

要找到titlehref,仔細觀察可以得到路徑分別是//div[@id="resultList"]/div[@class="el"]/p/span/a/@title

//div[@id="resultList"]/div[@class="el"]/p/span/a/@href

運行如下:

一文掌握Python爬蟲XPath語法

三、結語

Xpath,是在爬蟲中常見的提取數據的方式之一,相比于正則,它更加簡單一些,便于操作,xpath的難點在于準確的確定數據所在的位置。

到此這篇關于一文掌握Python爬蟲XPath語法的文章就介紹到這了,更多相關Python爬蟲XPath語法內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 青青草成人在线 | a人片| 2020国产精品视频免费 | 日韩欧美国产免费看清风阁 | 精品视频在线免费看 | 国内精品久久久久久野外 | 香蕉免费一区二区三区 | 洗濯屋H纯肉动漫在线观看 武侠艳妇屈辱的张开双腿 午夜在线观看免费观看 视频 | av魔镜收集号| 隔壁的漂亮邻居hd中文 | 久久久久久久久a免费 | 日本欧美大码a在线视频播放 | 四虎com| 亚洲精品一区制服丝袜 | 亚洲欧洲日产v特级毛片 | 18xxxx中国 | 成人au免费视频影院 | 大逼美女| 99精品视频在线观看免费播放 | 日本国产高清色www视频在线 | 亚洲AV久久无码精品九九软件 | 性色AV乱码一区二区三区视频 | 亚洲国产货青视觉盛宴 | 精品夜夜澡人妻无码AV蜜桃 | 免费观看一级特黄三大片视频 | 国产露脸对白刺激3p在线 | 虎四免费入口 | boobsmilking流奶水野战 | 1024免费观看完整版在线播放 | 亚洲精品视 | 幻女free性摘花第一次 | 久久精品国产清白在天天线 | 欧美三级免费观看 | 掀开奶罩边躁狠狠躁软学生 | 暴露狂婷婷医院暴露tx | 亚洲第一综合网站 | 色啪久久婷婷综合激情 | 2015小明台湾永久区域免费 | 日本伊人色 | 亚洲麻豆精品果冻传媒 | 国产精品中文 |