国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

爬蟲入門到精通-網(wǎng)頁的解析(xpath)

ispring / 743人閱讀

摘要:起初的提出的初衷是將其作為一個通用的介于與間的語法模型。的基本使用要使用我們需要下載,在爬蟲入門到精通環(huán)境的搭建這一章也說明怎么裝,如果還沒有安裝的話,那就去下載安裝吧直接看代碼實戰(zhàn)吧。

本文章屬于爬蟲入門到精通系統(tǒng)教程第六講

在爬蟲入門到精通第五講中,我們了解了如何用正則表達式去抓取我們想要的內(nèi)容.這一章我們來學(xué)習(xí)如何更加簡單的來獲取我們想要的內(nèi)容.

xpath的解釋

XPath即為XML路徑語言(XML Path Language),它是一種用來確定XML文檔中某部分位置的語言。
XPath基于XML的樹狀結(jié)構(gòu),提供在數(shù)據(jù)結(jié)構(gòu)樹中找尋節(jié)點的能力。起初XPath的提出的初衷是將其作為一個通用的、介于XPointer與XSL間的語法模型。但是XPath很快的被開發(fā)者采用來當(dāng)作小型查詢語言。

XPath的基本使用

要使用xpath我們需要下載lxml,在爬蟲入門到精通-環(huán)境的搭建這一章也說明怎么裝,如果還沒有安裝的話,那就去下載安裝吧

直接看代碼實戰(zhàn)吧。

from lxml import etree
# 定義一個函數(shù),給他一個html,返回xml結(jié)構(gòu)
def getxpath(html):
    return etree.HTML(html)

# 下面是我們實戰(zhàn)的第一個html
sample1 = """
  
    My page
  
  
    

Welcome to my page

This is the first paragraph.

""" # 獲取xml結(jié)構(gòu) s1 = getxpath(sample1) # 獲取標(biāo)題(兩種方法都可以) #有同學(xué)在評論區(qū)指出我這邊相對路徑和絕對路徑有問題,我搜索了下 #發(fā)現(xiàn)定義如下圖 s1.xpath("http://title/text()") s1.xpath("/html/head/title/text()")

相對路徑與絕對路徑


總結(jié)及注意事項

獲取文本內(nèi)容用 text()

獲取注釋用 comment()

獲取其它任何屬性用@xx,如

@href

@src

@value

sample2 = """

  
    
  

"""
s2 = getxpath(sample2)

總結(jié)及注意事項

上面的li 可以更換為任何標(biāo)簽,如 p、div

位置默認以1開始的

最后一個用 li[last()] 不能用 li[-1]

這個一般在抓取網(wǎng)頁的下一頁,最后一頁會用到

sample3 = """
  
    
  

"""
s3 = getxpath(sample3)

總結(jié)及注意事項

根據(jù)html的屬性或者文本直接定位到當(dāng)前標(biāo)簽

文本是 text()="xxx"

其它屬性是@xx="xxx"

這個是我們用到最多的,如抓取知乎的xsrf(見下圖)

我們只要用如下代碼就可以了

 `//input[@name="_xsrf"]/@value `

    sample4 = u"""
    
      
        My page
      
      
        

Welcome to my page

This is the first paragraph.

編程語言python javascript C#JAVA

a

b

c

d

e

f

""" s4 = etree.HTML(sample4)

總結(jié)及注意事項

想要獲取某個標(biāo)簽下所有的文本(包括子標(biāo)簽下的文本),使用string

123來獲取我啊

,這邊如果想要得到的文本為123來獲取我啊",則需要使用string

starts-with 匹配字符串前面相等

contains 匹配任何位置相等

當(dāng)然其中的(@class,"content")也可以根據(jù)需要改成(text(),"content")或者其它屬性(@src,"content")

最后再次總結(jié)一下

看完本篇文章后,你應(yīng)該要

能學(xué)會基本所有的xpath的使用

css和這個的原理一樣,所以就不介紹了,可以參考

CSS 選擇器參考手冊

所有代碼在kimg1234/pachong

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/38584.html

相關(guān)文章

  • 精通Python網(wǎng)絡(luò)爬蟲(0):網(wǎng)絡(luò)爬蟲學(xué)習(xí)路線

    摘要:以上是如果你想精通網(wǎng)絡(luò)爬蟲的學(xué)習(xí)研究路線,按照這些步驟學(xué)習(xí)下去,可以讓你的爬蟲技術(shù)得到非常大的提升。 作者:韋瑋 轉(zhuǎn)載請注明出處 隨著大數(shù)據(jù)時代的到來,人們對數(shù)據(jù)資源的需求越來越多,而爬蟲是一種很好的自動采集數(shù)據(jù)的手段。 那么,如何才能精通Python網(wǎng)絡(luò)爬蟲呢?學(xué)習(xí)Python網(wǎng)絡(luò)爬蟲的路線應(yīng)該如何進行呢?在此為大家具體進行介紹。 1、選擇一款合適的編程語言 事實上,Python、P...

    spacewander 評論0 收藏0
  • Python爬蟲入門教程 9-100 河北陽光理政投訴板塊

    摘要:河北陽光理政投訴板塊開始擼代碼今天再次嘗試使用一個新的模塊,它可以配合快速解析文檔,官網(wǎng)網(wǎng)站利用安裝,如果安裝失敗,可以在搜索引擎多搜搜,內(nèi)容很多,有解決方案。 1.河北陽光理政投訴板塊-寫在前面 之前幾篇文章都是在寫圖片相關(guān)的爬蟲,今天寫個留言板爬出,為另一套數(shù)據(jù)分析案例的教程做做準(zhǔn)備,作為一個河北人,遵紀(jì)守法,有事投訴是必備的技能,那么咱看看我們大河北人都因為什么投訴過呢? 今天要...

    _ipo 評論0 收藏0
  • Python爬蟲入門教程 9-100 河北陽光理政投訴板塊

    摘要:河北陽光理政投訴板塊開始擼代碼今天再次嘗試使用一個新的模塊,它可以配合快速解析文檔,官網(wǎng)網(wǎng)站利用安裝,如果安裝失敗,可以在搜索引擎多搜搜,內(nèi)容很多,有解決方案。 1.河北陽光理政投訴板塊-寫在前面 之前幾篇文章都是在寫圖片相關(guān)的爬蟲,今天寫個留言板爬出,為另一套數(shù)據(jù)分析案例的教程做做準(zhǔn)備,作為一個河北人,遵紀(jì)守法,有事投訴是必備的技能,那么咱看看我們大河北人都因為什么投訴過呢? 今天要...

    cppowboy 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<