网易云音乐(一)爬取全部歌手及歌手id
动听的音乐,走心的评论。
总会使人不断的遐想...
本系列将爬取分析网易云音乐最动听的音乐,最走心的评论。
本次爬取网易云音乐的所以歌手及歌手id。
一、网页分析
1.标签
通过点击左边已经分好类的标签及顶部的ABC等分类标签,得到网址地址参数。
例如:https://music.163.com/#/discover/artist/cat?id=1001&initial=-1 此链接为华语男歌手、热门分类的链接。
2、爬取架构
3.构建请求
def get_index(url):headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN,zh;q=0.9','Connection': 'keep-alive','Host': 'music.163.com','Referer': 'http://music.163.com/','Upgrade-Insecure-Requests': '1','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ''Chrome/66.0.3359.181 Safari/537.36'}try:resp = requests.get(url,headers=headers)if resp.status_code == 200:return resp.textelse:print('error')except ConnectionError:get_index(url)
4.解析内容
def parse_re(resp):print('start parse {}'.format(url))tags = re.findall(r'<a href=".*?/artist\?id=(\d+)" class="nm nm-icn f-thide s-fc0" title=".*?的音乐">(.*?)</a>', resp, re.S)title = re.findall(r'<title>(.*?)-.*?</title>', resp, re.S)for tag in tags:print(tag[0],tag[1],title[0])
5.数据存储
def save_csv(tag, title):print('start save {}'.format(url))with open('all_singer.csv', 'a+', newline='', encoding='utf-8') as f:writer = csv.writer(f)writer.writerow(('id', 'name', 'title'))writer.writerow((tag[0], tag[1], title[0]))print('finish spider {}'.format(url))
完整代码:
爬取所有歌手github.com
import requests
import re
import csv
import jsonclass SingerSpider(object):def __init__(self):self.headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN,zh;q=0.9','Connection': 'keep-alive','Host': 'music.163.com','Referer': 'http://music.163.com/','Upgrade-Insecure-Requests': '1','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ''Chrome/66.0.3359.181 Safari/537.36'}def get_index(self, url):'请求模块'try:resp = requests.get(url,headers=self.headers)if resp.status_code == 200:self.parse_re(resp.text)else:print('error')except ConnectionError:self.get_index(url)def parse_re(self, resp):'解析模块'print('start parse {}'.format(url))tags = re.findall(r'<a href=".*?/artist\?id=(\d+)" class="nm nm-icn f-thide s-fc0" title=".*?的音乐">(.*?)</a>', resp, re.S)title = re.findall(r'<title>(.*?)-.*?</title>', resp, re.S)for tag in tags:# print(tag[0],tag[1])# self.save_json(tag, title)self.save_csv(tag, title)def save_csv(self, tag, title):'存储模块'print('start save {}'.format(url))with open('all_singer.csv', 'a+', newline='', encoding='utf-8') as f:writer = csv.writer(f)writer.writerow((tag[0], tag[1], title[0]))print('finish spider {}'.format(url))def save_json(self, tag, title):print('start save {}'.format(url))s = json.dumps({'id': tag[0], 'name': tag[1], 'title': title[0]},ensure_ascii=False)with open('all_singer.json', 'a+', newline='', encoding='utf-8') as f:f.write(s)print('finish spider {}'.format(url))print(s)if __name__ == '__main__':# 歌手分类idlist1 = [1001, 1002, 1003, 2001, 2002, 2003, 6001, 6002, 6003, 7001, 7002, 7003, 4001, 4002, 4003]# initial的值list2 = [0,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]for i in list1:for j in list2:url = 'http://music.163.com/discover/artist/cat?id=' + str(i) + '&initial=' + str(j)print('start spider {}'.format(url))SingerSpider().get_index(url)
网易云音乐(一)爬取全部歌手及歌手id相关推荐
- python爬取网易云音乐_Python 从零开始爬虫(七)——实战:网易云音乐评论爬取(附加密算法)...
前言 某宝评论区已经成功爬取了,jd的也是差不多的方法,说实话也没什么好玩的,我是看上它们分析简单,又没加密才拿来试手的.如果真的要看些有趣的评论的话,我会选择网易云音乐,里面汇聚了哲学家,小说家,s ...
- 利用Python网络爬虫实现对网易云音乐歌词爬取
今天小编给大家分享网易云音乐歌词爬取方法. 本文的总体思路如下: 找到正确的URL,获取源码: 利用bs4解析源码,获取歌曲名和歌曲ID: 调用网易云歌曲API,获取歌词: 将歌词写入文件,并存入本地 ...
- python3爬虫进阶之自动登录网易云音乐并爬取指定歌曲评论
** python3爬虫进阶之自动登录网易云音乐并爬取指定歌曲评论 ** 一.访问网易云首页,找到所需元素的位置 用浏览器打开网易云首页https://music.163.com/之后,发现我们要找的 ...
- php 爬取一个人的网易云评论,网易云音乐评论爬取
# coding=gbk import requests import json c='网易云爬虫实战一' print(c) music_url = 'https://music.163.com/#/ ...
- 网易云音乐信息爬取(存储为 csv文件)喜马拉雅音乐爬取
1. 网易云音乐爬取 分析 源代码 爬取结果, (可使用Excel 表格打开) 2. 喜马拉雅音乐爬取 分析 源代码 爬取结果 获取网易云音乐歌手信息 后续会做一个 网易云音乐爬取 + Tkinter ...
- 网易云音乐评论爬取。
欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! 对商业智能BI.大数据分析挖掘.机器学习,python,R等数据领域感兴趣的同学 ...
- 网易云音乐评论爬取、情感分析一体化
开局一张图 网易云诞生了很多励志鸡汤,那么多的伤感流行句式,那么多微甜情话,今天我们就看他个天翻地覆,话不多说直接上个干货. 导入包.相关库 import requests import math i ...
- python爬虫----网易云音乐歌曲爬取并存入Excel
因为数据要存入Excel中,所以首要目标是找个办法将数据能够存入excel中 经过在网上一番搜索后,发现用python里的xlwt模块可以比较容易的解决 一.准备工作 1.安装xlwt模块: 可以看h ...
- python爬取音乐_利用Python对网易云音乐进行爬取!无所不爬的爬虫啊!
今天,我们利用Python 中的selenium爬取网易云音乐中林俊杰<将故事写成我们>的评论,具体界面如下: 私信小编01 获取数十套PDF!爬虫 web都有的呢! 具体代码如下: #此 ...
- 网易云评论 爬虫 java_网易云音乐资源爬取(登录+评论)
如何爬取网易云音乐的评论呢? 1.文本以华晨宇的<我的滑板鞋2016>为例 2.使用浏览器的工具,查找获取评论的url 3.不难发现,此API是通过POST请求获得我们想要的评论信息的,需 ...
最新文章
- 物联网落地三大困境破解
- python如何读取tfrecord_tensorflow将图片保存为tfrecord和tfrecord的读取方式
- hdu 3905(dp)
- OCP考点实战演练02-日常维护篇
- 彻底解决Android GPS没法定位这一顽固问题
- 创新者的窘境 Teh Innovator‘s Dilemma
- Mac adobe PS、AI、PR、AN安装包
- [Qt]一个关于galgame的练手项目的总结
- 登录注册页面模板汇总WEB前端(50套)
- Qt 5 编译 glm
- js unshift性能分析
- GitHub 上受欢迎的 Android UI Library 整理
- 无刷电机控制基础(1)——结构和驱动电路
- Visio2019安装教程(与正版office同时使用)
- python安装math模块_python math模块
- 动规 - 最大子矩阵问题
- 机器学习:simple linear iterative clustering (SLIC) 算法
- java中parseint函数_浅谈 js中parseInt函数的解析
- java毕设项目婚纱摄影网站(附源码)
- 程序员升职记-五种种说话套路
热门文章
- Linux内核转储---Kdump,Crash使用介绍
- 简单的模拟电话簿程序(java)
- (记录)华为机试练习题13—句子逆序
- C语言中.h开头文件的书写和用法
- 几种存储技术的比较(FC SAN、IP SAN、DAS、NAS)
- 自学B站小甲鱼数据结构课程-C语言实现基础数据结构-栈-的例子
- 【软件测试】测试工程师。你工作中最常用的几种质量管理模型
- 如何提高自己的执行力
- Spring3.1.0实现原理分析(七).填充Bean属性,初始化Bean,登记善后处理,注册单例Bean...
- python 使用pymssql的基本总结