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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java爬取网易云歌单_爬取网易云音乐所有歌单

發布時間:2023/12/10 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java爬取网易云歌单_爬取网易云音乐所有歌单 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網易云音樂歌單首頁

歌單第二頁鏈接

歌單第三頁鏈接

可以看出只有最后的數字在變化,所以進行url的構造,然后開始爬取

import csv

from lxml import etree

import requests

from multiprocessing.dummy import Pool

import time

headers = {

'Referer':'http://music.163.com/',

'Host':'music.163.com',

# 'User-Agent':'Mozilla/5.0 (X11: Linux *86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.3.0',

'User-Agent': 'Mozilla/5.0 (X11: Linux *86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.3.0',

'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',

}

wangyi='http://music.163.com'

base_url='http://music.163.com/discover/playlist/?order=hot&cat=%E5%85%A8%E9%83%A8&limit=35&offset={}'

urlList=[] #保存構造出的鏈接

def totalPage():

for i in range(0,1300,35):

url=base_url.format(i)

urlList.append(url)

def getData(url):

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

html=etree.HTML(r.text)

MFlist=html.xpath("//p[@class='dec']/a/text()")

MFurl=html.xpath("//p[@class='dec']/a/@href")

LisNum=html.xpath("//span[@class='nb']/text()")

for i in range(len(MFlist)):

write.writerow([MFlist[i],wangyi+MFurl[i],LisNum[i]])

time.sleep(3) #延時,防止IP被封

f=open('Allmusicform.csv','a+',newline='',encoding='utf-8')

write=csv.writer(f)

p=Pool(4)

totalPage()

p.map(getData,urlList)

p.close()

分別爬取了歌單名稱、url、播放次數

總結

以上是生活随笔為你收集整理的java爬取网易云歌单_爬取网易云音乐所有歌单的全部內容,希望文章能夠幫你解決所遇到的問題。

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