鱼C论坛

 找回密码
 立即注册
查看: 2354|回复: 29

[作品展示] 网易云音乐爬虫

[复制链接]
发表于 2019-4-17 10:45:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
教程中只针对了有'精彩评论'的热门曲目 略加修改 对非热门曲目同样能爬取评论
(该版本只爬取第1页 若要爬取所有评论还需参考豆瓣top250的爬虫 抓取评论页数 再写个url池子
但是评论页数及每页内容很可能动态变化 而且后面的评论价值不高 就不费事做了)

网易云音乐

网易云音乐


  1. import requests
  2. import json
  3. # from bs4 import BeautifulSoup

  4. def open_url(url):
  5.     name_id = url.split('=')[1]
  6.     headers = {
  7.         'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36',
  8.         'Referer': 'https://music.163.com/song?id={}'.format(name_id)}

  9.     target_url = r'https://music.163.com/weapi/v1/resource/comments/R_SO_4_{}?csrf_token='.format(name_id)

  10.     params = r'5VmLhYw/VGeg26QJgUtSOhEzWhqRcqVu7CmbhZLhaTCXFIWimW3PiH7z8/nnQ4ZYbnRJBo/GpriiZE888YkS+iinsgmNmINOurFf56KwAcuC3wHU1edUt3zp+b0j1rws9Df86lDc3+FAWj1cC7lAh35o73Tim0lJIzYrtctelyL60Wdh7oqnFMvf+nhcVtk9'
  11.     encSecKey = r'3206c885767929f19398b403166868ff3d01c373b69fc0bb37e53a5ecfc04e44407c4343f8dfe004dde784308b38e22e9daeaa99c107273fed19fac999dae004cb0b042d77a4983acb9627d1e197253d65b9457a31f207cd1520cf61d921f350203b0cacfc1c11725297ba77df10f3857ccad1fdf39d118be4573cbe1e707170'
  12.     data = {
  13.         'params':params,
  14.         'encSecKey':encSecKey}
  15.    
  16.     res = requests.post(target_url,headers=headers,data=data,timeout=3)   
  17.     return res


  18. def get_comments(res,name_id):
  19.     comments_json = json.loads(res.text)   
  20.     hot_comments = comments_json['hotComments']
  21.    
  22.     with open('comments_of {}.txt'.format(name_id),'w',encoding='utf-8') as f:
  23.         if hot_comments:
  24.             f.write('精彩评论:'+'\n')
  25.             f.write('--------------------------------------------------------\n')
  26.             for each in hot_comments:
  27.                 f.write(each['user']['nickname']+':\n\n')
  28.                 f.write(each['content']+'\n')
  29.                 f.write('----------------------------\n')  
  30.         # 无论有没有精彩评论 都记录最新评论
  31.         f.write('\n'+'最新评论:'+'\n')
  32.         f.write('--------------------------------------------------------\n')
  33.         for each in comments_json['comments']:
  34.             f.write(each['user']['nickname']+':\n\n')
  35.             f.write(each['content']+'\n')
  36.             f.write('----------------------------\n')


  37. def main():
  38.    
  39.     # url = r'https://music.163.com/#/song?id=4466775'
  40.     url = input('请输入链接地址:')
  41.     name_id = url.split('=')[1]
  42.     res = open_url(url)  
  43.     get_comments(res,name_id)
  44.    
  45.     return

  46.    
  47. if __name__ == '__main__':
  48.     main()


复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-17 14:00:21 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-17 14:03:08 From FishC Mobile | 显示全部楼层
关注
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-17 14:12:45 | 显示全部楼层
请教一下,mac3,7使用pycharm复制代码运行报错,没有“requests”
ModuleNotFoundError: No module named 'requests'
该怎么解决呢?感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-17 14:14:04 From FishC Mobile | 显示全部楼层
需要pip
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-17 15:46:12 | 显示全部楼层
小学文化偏要学 发表于 2019-4-17 14:12
请教一下,mac3,7使用pycharm复制代码运行报错,没有“requests”
ModuleNotFoundError: No module named ...

cmd
pip install requests
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-17 23:26:18 | 显示全部楼层
ietar 发表于 2019-4-17 15:46
cmd
pip install requests

感谢回复,放弃了pycharm,决定使用anaconda学习。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-18 09:33:10 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-18 09:35:50 | 显示全部楼层
当地
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-18 11:22:10 | 显示全部楼层
能爬音乐文件么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-19 15:06:20 | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-19 17:24:05 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-19 17:42:16 | 显示全部楼层
感谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-20 12:45:44 | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-20 17:09:19 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-20 23:24:14 | 显示全部楼层

大佬,加QQ否
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-20 23:46:42 From FishC Mobile | 显示全部楼层
小学文化偏要学 发表于 2019-4-17 14:12
请教一下,mac3,7使用pycharm复制代码运行报错,没有“requests”
ModuleNotFoundError: No module named ...

应该是下载urllib库吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-21 11:13:13 | 显示全部楼层
厉害还
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-21 22:47:24 From FishC Mobile | 显示全部楼层
好好看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-22 08:42:16 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 17:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表