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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python3 xpath_Python3使用Xpath解析网易云音乐歌手页面

發布時間:2025/3/20 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python3 xpath_Python3使用Xpath解析网易云音乐歌手页面 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Xpath最初被設計用來搜尋XML文檔,但它同樣適用于HTML文檔的搜索。通過簡潔明了的路徑選擇表達式,它提供了強大的選擇功能;同時得益于其內置的豐富的函數,它可以匹配和處理字符串、數值、時間等數據格式,幾乎所有節點我們都可以通過Xpath來定位。

在Python中,lxml庫為我們提供了完整的Xpath選擇器,今天我們就用它來學習Xpath的使用,我們的目標是用最少的時間來掌握使用頻率最高的核心技能,而這些核心技能基本上可以滿足我們網頁抓取的需求。

畢竟我們不是單獨在使用Xpath,在Python中,很多數據處理和匹配的工作我們可以用更加“Python”、更加通用的方法來解決,沒必要為了5%的使用而花費數倍的時間。

我們都知道,在很多領域里,從0到80分只需要花費很少的時間,從80分到95分則可能會花費上一階段的數倍時間,至于從95分往上,每一分的提高都可能需要巨大的時間成本。我們需要權衡最初的學習訴求、收獲和時間成本的匹配度等,以判斷我們要到達哪一個水平,并規劃出對應的學習方案。

我學習爬蟲的目的并不是成為一個精通網絡爬蟲的大師,而是將它作為一個工具,用來幫助我更好地進行數據挖掘分析的工作。因此,在學習過程中會盡可能地功力,力求以最少的時間掌握最核心的技能。Xpath簡直是針對這種學習思路設計的,因為它太容易上手了,核心功能只需要十分鐘就可以熟練掌握,而那多達上百的函數對我們來說可能一輩子都用不到幾回。

一、Xpath常用規則

下表是最常用的Xpath規則,絕大多數的Xpath表達式都由它們構成。

| 表達式 | 描述 | | :-: | :-: | | nodename | 選取此節點的所有子節點 | | / | 從當前節點直接選取子節點 | | // | 從當前節點選取所有子孫節點 | | . | 選取當前節點 | | .. | 選取當前節點的父節點 | | @ | 選取屬性 |

二、抓取趙雷熱門作品頁面

單純的羅列簡直是耍流氓,實戰才是硬道理。正如標題所言,今天我們就使用Xpath來解析網易云音樂的歌手頁面。我個人很喜歡趙雷,那我們就先嘗試解析一下趙雷的熱門作品。

網易云音樂抓取難度較低,沒有亂七八糟的驗證,抓取的時候我們只需要帶上header就可以成功獲取我們需要的內容了。

首先,我們打開網易云音樂的首頁,搜索并進入趙雷的頁面。右鍵檢查并切換到Network選項卡,刷新一下,就看到了一大串網絡請求,我們要做的就是從中定位到歌曲列表所在的請求。

我們優先看document類的文件,第一個打開后通過preview可以看到這里是通用內容,包含了一些網易云音樂的信息,那么接下來我們看下邊這個紅框里的請求,首先請求名稱里包含了artist以及一個對應的id,看起來有點像。

接下來我們單擊進去看看:

我們成功看到了趙雷的熱門作品列表,說明我們找對了位置。我們同樣可以通過在response里搜索來確定這一請求是否是我們尋找的那一個。比如我們搜索“成都”、“南方姑娘”等,來看下我們的歌曲列表是不是在這個response中。

確定了請求之后,我們就需要抓取并解析了。首先我們切換到Headers選項,在General下找到Request URL作為請求連接;然后在Request Headers下找到‘User-Agent’,并將其復制下來用作模擬瀏覽器發起請求。

接下來我們嘗試抓取頁面:

import requests

url = 'https://music.163.com/artist?id=6731'

headers = {

'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36'

}

html = requests.get(url, headers=headers)

print(html.status_code)

結果如下:200

這說明我們的請求成功了,接下來我們看下html的內容是否符合要求:

print(html.text)

這里打印的結果太長就不貼出來了,我們可以把打印的內容和剛才那個請求返回的結果做一個比對,看是不是一樣的內容。通過觀察,我們發現這就是我們需要的內容。

三、解析熱門作品列表

1. 構建對象

那么接下來就要解析了,解析之前,我們需要先使用lxml構建我們需要的對象:

from lxml import etree

result = etree.HTML(html.text)

print(type(result))

print(result)

輸出為:

2. 子節點、子孫節點、屬性過濾、文本選取

然后我們觀察網頁,定位到歌單位置:

我們發現歌曲列表藏在一個

  • 標簽中,這個標簽擁有class="f-hide"屬性;
    • 標簽中嵌套了一個
    • 標簽;
    • 標簽中又嵌套了一個標簽,這個標簽有個href屬性,其值為每首歌的相對鏈接,而歌曲名稱就在標簽對應的文本中。

      好了,接下來我們構建Xpath路徑選擇表達式:

      song_list = result.xpath('//ul[@class="f-hide"]/li/a/text()')

      print(song_list)

      看下輸出:['成都', '南方姑娘', '理想', '畫', '我們的時光', '少年錦時', '阿刁', '鼓樓', '三十歲的女人', '無法長大', '八十年代的歌', '十九歲', '彩虹下面', '瑪麗', '讓我偷偷看你', '吉姆餐廳', '朵', '靜下來', '家鄉', '已是兩條路上的人', '未給姐姐遞出的信', '北京的冬天', '孤獨', '小屋', '再也不會去麗江', '再見北京', '媽媽', '夢中的哈德森', '人家', '背影', '窯上路', '浮游', '不開的唇', '開往北京的火車', '趙小雷', '往事只能回味', '愛人你在哪里', '未給姐姐遞出的信 ', 'Over', '民謠', '憑什么說愛你', '逆流而上', '夏天', '米店', '飛來飛去', '朵兒 (Live版)', '何必', '塔吉汗', '月亮粑粑 (Live)']

      好,我們成功解析出了歌曲列表。那么接下來我們回頭看一下這個表達式:

      首先,我們使用.xpath()方法來調用Xpath表達式;//ul[@class="f-hide"]代表我們選取所有擁有class="f-hide"屬性的

      標簽;/li代表在上邊返回的標簽的子節點中選取所有的
    • 標簽,/a同理,進一步選取子節點中的

總結

以上是生活随笔為你收集整理的python3 xpath_Python3使用Xpath解析网易云音乐歌手页面的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 精人妻无码一区二区三区 | 欧美黄色大片免费观看 | 国产福利短视频 | 黄色伊人 | 亚洲欧美一区二区三区在线 | 久久亚洲一区二区 | 亚洲免费激情视频 | 午夜国产福利在线 | 国产九色91回来了 | 尤物网站在线播放 | 国产成人看片 | 天堂av网站| 亚洲欧洲另类 | sm捆绑调教视频 | 亚洲制服另类 | 在线看你懂得 | 久草视频在线免费看 | 国产精品久久久久久久裸模 | 亚洲熟女乱色一区二区三区久久久 | 人人妻人人澡人人爽精品 | 一区二区三区四区免费观看 | 免费黄色欧美 | 欧美一级黄色片网站 | 今天最新中文字幕mv高清 | 久久久国产成人 | 欧美色呦呦 | 超污视频在线观看 | 无码人妻丰满熟妇区96 | 色欧美片视频在线观看 | 爱爱视频日本 | 91欧美激情一区二区三区成人 | 香蕉视频在线播放 | 欧美xxxx少妇 | 人妻在线一区二区三区 | 亚洲欧美日韩在线不卡 | youjizz少妇 | 91精品国产91综合久久蜜臀 | 国产精品伦理一区二区 | 五月激情av | 国产3级在线 | 69福利社区 | 久久青青草视频 | 成人国产欧美 | 亚洲最新av网址 | 麻豆影视网站 | av网站在线播放 | 91蝌蚪在线观看 | 中文字幕一区二区三区四区不卡 | 91插插插影库永久免费 | a级片网站 | 日韩一级片网站 | 午夜久久久久久久久久久 | 91九色在线观看 | 米奇色 | 国产网址在线观看 | 国产精品久久久久桃色tv | 18我禁在线观看 | 国产三级在线播放 | 公车激情云雨小说 | 天天干天天操天天干 | 国产成人欧美一区二区三区的 | 奴色虐av一区二区三区 | 少妇献身老头系列 | bl动漫在线观看 | 69亚洲| 久久东京 | 日本精品在线观看 | 亚洲国产日韩欧美在线观看 | 国产网站av | 亚洲国产情侣 | 一本一道无码中文字幕精品热 | 狼色网| 日韩欧美在线免费 | 国产高清视频网站 | 久久免费精品 | 成人一级视频在线观看 | 欧洲精品无码一区二区 | 97超碰在| 五月天综合久久 | 四虎永久免费观看 | 91国内在线 | 理论片av | 伊人365影院| 大香蕉毛片 | 亚洲乱妇老熟女爽到高潮的片 | 91精品影视| 国产精品h | 天天躁日日躁狠狠躁av麻豆 | 久久久久人妻精品色欧美 | 探花视频在线观看 | 国产亚洲精品成人无码精品网站 | 亚洲日本三级 | 亚洲视频一区二区 | 国产精品一区二区无码免费看片 | 亚洲精品电影在线 | 看片日韩 | 夜夜导航| 国产传媒一区二区三区 | 久久国产精品99久久人人澡 |