1.png
實(shí)現(xiàn):
# -*- coding=utf-8 -*-
import json
import requests
from bs4 import BeautifulSoup
# 獲取網(wǎng)易云音樂(lè)熱門古風(fēng)歌單前10頁(yè)、歌單地址和播放量
cover_list = []
for i in xrange(0, 10):
params = {
"order": "hot",
"cat": u"古風(fēng)",
"limit": 35,
"offset": i * 35
}
r = requests.get("http://music.163.com/discover/playlist/", params=params)
soup = BeautifulSoup(r.text, "lxml")
cover_li = soup.select_one("#m-pl-container").select("li")
for item in cover_li:
cover = {
"cover_title": item.a["title"].encode("utf-8"),
"cover_url": "http://music.163.com" + item.a["href"],
"cover_nb": item.select_one(".nb").get_text().strip().encode("utf-8"),
}
cover_list.append(cover)
print len(cover_list) # 350
# 按播放量降序排序
for i in cover_list:
if "萬(wàn)" in i["cover_nb"]:
i["cover_nb"] = i["cover_nb"].replace("萬(wàn)", "0000")
i["cover_nb"] = int(i["cover_nb"])
cover_list.sort(key=lambda obj: obj.get('cover_nb'), reverse=True)
# 寫(xiě)txt文件
with open(u"網(wǎng)易云音樂(lè)熱門古風(fēng)歌單350.txt", "a") as f:
f.write(json.dumps(cover_list, indent=2, ensure_ascii=False))
if f:
f.close()
print "寫(xiě)txt完成"