日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

爬虫的步骤解析内容xpath介绍_爬虫入门到精通-网页的解析(xpath)

發布時間:2024/9/19 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 爬虫的步骤解析内容xpath介绍_爬虫入门到精通-网页的解析(xpath) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

xpath的解釋

XPath即為XML路徑語言(XML Path Language),它是一種用來確定XML文檔中某部分位置的語言。

XPath基于XML的樹狀結構,提供在數據結構樹中找尋節點的能力。起初XPath的提出的初衷是將其作為一個通用的、介于XPointer與XSL間的語法模型。但是XPath很快的被開發者采用來當作小型查詢語言。

XPath的基本使用

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

直接看代碼實戰吧。

from lxml import etree

# 定義一個函數,給他一個html,返回xml結構

def getxpath(html):

return etree.HTML(html)

# 下面是我們實戰的第一個html

sample1 = """

My page

Welcome to my page

This is the first paragraph.

"""

# 獲取xml結構

s1 = getxpath(sample1)

# 獲取標題(兩種方法都可以)

#有同學在評論區指出我這邊相對路徑和絕對路徑有問題,我搜索了下

#發現定義如下圖

s1.xpath('//title/text()')

s1.xpath('/html/head/title/text()')

相對路徑與絕對路徑

總結及注意事項

獲取文本內容用 text()

獲取注釋用 comment()

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

@href

@src

@value

sample2 = """

  • Quote 1
  • Quote 2 with link
  • Quote 3 with another link
  • Quote 4 title

    ...

"""

s2 = getxpath(sample2)

總結及注意事項

上面的li 可以更換為任何標簽,如 p、div

位置默認以1開始的

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

這個一般在抓取網頁的下一頁,最后一頁會用到

sample3 = """

  • Scrapybegin
  • Scrapinghub
  • Scrapinghub Blog
  • Quotes To Scrapeend
  • Quotes To Scrapeend

"""

s3 = getxpath(sample3)

總結及注意事項

根據html的屬性或者文本直接定位到當前標簽

文本是 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)

總結及注意事項

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

123來獲取我啊

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

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

contains 匹配任何位置相等

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

最后再次總結一下

看完本篇文章后,你應該要

能學會基本所有的xpath的使用

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

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的爬虫的步骤解析内容xpath介绍_爬虫入门到精通-网页的解析(xpath)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。