python 爬網易雲歌手id和歌手姓名

2021-09-11 10:45:24 字數 1142 閱讀 2625

成功爬網易雲的關鍵點在於獲取網易雲**的框架原始碼,開啟網易雲**然後右鍵檢視原始碼 發現歌手的id原始碼中找不到 ,觀察原始碼會發現有標籤iframe即網頁巢狀網頁,開啟開發者工具,輸入歌手id能夠定位到歌手的id位置,右擊檢視框架原始碼 會發現很多東**在框架原始碼裡,尋找框架原始碼的鏈結規律,依此遍歷。

原始碼如下:

> import requests

import csv

from bs4 import beautifulsoup

csvfile = open('f:/music/final_id.csv', 'w', encoding='utf-8-sig')

writer = csv.writer(csvfile)

def get_id(url):

head =

writer.writerow(('id', 'name'))

res = requests.get(url, headers=head)

soup = beautifulsoup(res.text, 'lxml')

a = soup.find_all('a', attrs=)

for tag in a:

id = tag['href'].replace('/artist?id=', '')

name = tag.string

writer.writerow([id, name])

def main():

list_id = [1001, 1002, 1003, 2001, 2002, 2003, 6001, 6002, 6003, 7001, 7002, 7003, 4001, 4002, 4003]

list_ins = [-1, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 0]

for id in list_id:

for ins in list_ins:

url = ''+str(id)+'&initial='+str(ins)

get_id(url)

if __name__=="__main__":

main()

網易雲歌手爬取

需求 獲取每乙個大分類下的每個子分類下的所有歌手名 思路 1.獲取大分類的url,並請求 2.獲取小分類的url,並請求 3.獲取歌手名 import requests from lxml import etree 定義請求函式 defget requests url response reques...

爬網易雲歌單

學習爬蟲嘛,就是批量獲取目標 上內容。首先需要知道目標 的url,尤其是需要獲取目標 裡面子鏈結中的內容時,需要先批量獲取所有子鏈結的url。其次是從大量的資訊中提取並整理自己想要的資訊。是不是很簡單 一般用beautiful soup 庫,專門用來提取網頁的資料,用作爬蟲 很好用。beautifu...

爬取網易雲歌單

偶爾在微博上看到,要是歌單裡誰的歌超過30首,那肯定是真愛吧。我看了連忙開啟網易雲 我的歌單,結果1000多首歌。這讓我自己數得數到猴年馬月呀.於是萌生出了寫一段小爬蟲來統計的想法。剛開始想直接解析網頁元素,後發現很麻煩,很多資訊不能一次抓取到,於是找到網頁請求的介面,結果介面有加密引數,看了一下j...