动听的音乐,走心的评论。

总会使人不断的遐想...

本系列将爬取分析网易云音乐最动听的音乐,最走心的评论。

本次爬取网易云音乐的所以歌手及歌手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相关推荐

  1. python爬取网易云音乐_Python 从零开始爬虫(七)——实战:网易云音乐评论爬取(附加密算法)...

    前言 某宝评论区已经成功爬取了,jd的也是差不多的方法,说实话也没什么好玩的,我是看上它们分析简单,又没加密才拿来试手的.如果真的要看些有趣的评论的话,我会选择网易云音乐,里面汇聚了哲学家,小说家,s ...

  2. 利用Python网络爬虫实现对网易云音乐歌词爬取

    今天小编给大家分享网易云音乐歌词爬取方法. 本文的总体思路如下: 找到正确的URL,获取源码: 利用bs4解析源码,获取歌曲名和歌曲ID: 调用网易云歌曲API,获取歌词: 将歌词写入文件,并存入本地 ...

  3. python3爬虫进阶之自动登录网易云音乐并爬取指定歌曲评论

    ** python3爬虫进阶之自动登录网易云音乐并爬取指定歌曲评论 ** 一.访问网易云首页,找到所需元素的位置 用浏览器打开网易云首页https://music.163.com/之后,发现我们要找的 ...

  4. php 爬取一个人的网易云评论,网易云音乐评论爬取

    # coding=gbk import requests import json c='网易云爬虫实战一' print(c) music_url = 'https://music.163.com/#/ ...

  5. 网易云音乐信息爬取(存储为 csv文件)喜马拉雅音乐爬取

    1. 网易云音乐爬取 分析 源代码 爬取结果, (可使用Excel 表格打开) 2. 喜马拉雅音乐爬取 分析 源代码 爬取结果 获取网易云音乐歌手信息 后续会做一个 网易云音乐爬取 + Tkinter ...

  6. 网易云音乐评论爬取。

    欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! 对商业智能BI.大数据分析挖掘.机器学习,python,R等数据领域感兴趣的同学 ...

  7. 网易云音乐评论爬取、情感分析一体化

    开局一张图 网易云诞生了很多励志鸡汤,那么多的伤感流行句式,那么多微甜情话,今天我们就看他个天翻地覆,话不多说直接上个干货. 导入包.相关库 import requests import math i ...

  8. python爬虫----网易云音乐歌曲爬取并存入Excel

    因为数据要存入Excel中,所以首要目标是找个办法将数据能够存入excel中 经过在网上一番搜索后,发现用python里的xlwt模块可以比较容易的解决 一.准备工作 1.安装xlwt模块: 可以看h ...

  9. python爬取音乐_利用Python对网易云音乐进行爬取!无所不爬的爬虫啊!

    今天,我们利用Python 中的selenium爬取网易云音乐中林俊杰<将故事写成我们>的评论,具体界面如下: 私信小编01 获取数十套PDF!爬虫 web都有的呢! 具体代码如下: #此 ...

  10. 网易云评论 爬虫 java_网易云音乐资源爬取(登录+评论)

    如何爬取网易云音乐的评论呢? 1.文本以华晨宇的<我的滑板鞋2016>为例 2.使用浏览器的工具,查找获取评论的url 3.不难发现,此API是通过POST请求获得我们想要的评论信息的,需 ...

最新文章

  1. 物联网落地三大困境破解
  2. python如何读取tfrecord_tensorflow将图片保存为tfrecord和tfrecord的读取方式
  3. hdu 3905(dp)
  4. OCP考点实战演练02-日常维护篇
  5. 彻底解决Android GPS没法定位这一顽固问题
  6. 创新者的窘境 Teh Innovator‘s Dilemma
  7. Mac adobe PS、AI、PR、AN安装包
  8. [Qt]一个关于galgame的练手项目的总结
  9. 登录注册页面模板汇总WEB前端(50套)
  10. Qt 5 编译 glm
  11. js unshift性能分析
  12. GitHub 上受欢迎的 Android UI Library 整理
  13. 无刷电机控制基础(1)——结构和驱动电路
  14. Visio2019安装教程(与正版office同时使用)
  15. python安装math模块_python math模块
  16. 动规 - 最大子矩阵问题
  17. 机器学习:simple linear iterative clustering (SLIC) 算法
  18. java中parseint函数_浅谈 js中parseInt函数的解析
  19. java毕设项目婚纱摄影网站(附源码)
  20. 程序员升职记-五种种说话套路

热门文章

  1. Linux内核转储---Kdump,Crash使用介绍
  2. 简单的模拟电话簿程序(java)
  3. (记录)华为机试练习题13—句子逆序
  4. C语言中.h开头文件的书写和用法
  5. 几种存储技术的比较(FC SAN、IP SAN、DAS、NAS)
  6. 自学B站小甲鱼数据结构课程-C语言实现基础数据结构-栈-的例子
  7. 【软件测试】测试工程师。你工作中最常用的几种质量管理模型
  8. 如何提高自己的执行力
  9. Spring3.1.0实现原理分析(七).填充Bean属性,初始化Bean,登记善后处理,注册单例Bean...
  10. python 使用pymssql的基本总结