Scrapy爬取网易云音乐和评论(四、关于API)

目录:

1、Scrapy爬取网易云音乐和评论(一、思路分析)
2、Scrapy爬取网易云音乐和评论(二、Scrapy框架每个模块的作用)
3、Scrapy爬取网易云音乐和评论(三、爬取歌手)
4、Scrapy爬取网易云音乐和评论(四、关于API)
5、Scrapy爬取网易云音乐和评论(五、评论)

前面有提到,API的参考链接,另外再放上几个,

1、http://moonlib.com/606.html(我用的这个)
2、http://blog.csdn.net/qujunjie/article/details/34422379
3、https://binaryify.github.io/NeteaseCloudMusicApi/#/?id=neteasecloudmusicapi(这个比较官方,我也不知道是不是官方,但是很全很全很全)

我们爬取的顺序是:

1、歌手专辑
2、专辑信息(不包括评论)
3、歌曲信息(不包括评论)
4、歌词
5、专辑和歌曲评论(这个另起一章写)

我们拿一个来讲解,其他的类似:
比如,歌手专辑:

http://music.163.com/api/artist/albums/166009?id=166009&offset=0&total=true&limit=12
  • offset:偏移量,它其实算是比如歌手的专辑页每页有12首,第一页的offset就是0(一般是0开头),然后第二页offset就是12,第一页0~11刚好12位数,所以offset从12开头,以此类推。可以算作是second_offset = limit*(first_offset+1)
  • limit:一页有多少,这个可以改,但是不同的网站有不同的规律,比如豆瓣,它这个limit的上限跟当页显示给你看的不同,比如一页默认给你显示20条数据,但是你给它改成50也会给你返回50条。但是网易云不一样,它显示是12条,它的limit可以往下,但不能往上,往上它返回也是12条,它这是固定的,那超过怎么办呢?假设36条,那么3页对吧,根据前面的offset,不停的改offset,这数字一看就有规律,很容易就能想到用遍历,如图,这是我写的一个歌手专辑信息的函数:
image.png

我的那个get_req()函数就是对requests.get做了些处理,中途肯定会遇到各种各样的状态码对吧,这个你们自己去思考。

这里我没有用response,因为不涉及到一个完整的传递链,它只是要存进数据库的某一个字段,如图,这个才是我要进行存储的的函数,其中调用了get_artist_album_info()这个函数,它只是作为一个字段存进了item。

其中调用了get_artist_album_info()这个函数,它只是作为一个字段存进了item。

然后回到get_artist_album_info()函数,这里的建议就是,将固定的不变,会变的用params这个参数,requests.get它后面可以传各种参数,包括params,以及前面的headers。

这个params里有四个参数:

  • id:歌手的id,事实上,有它,albums_url里那个%s占位的地方可以不要,但是因为最开始参照的那个网站有,也是测试成功就没管了。(上面我提供的链接1和2的区别在这里,用哪个都行)
  • offset:这个首先看到我的page_count,就是指页数,比如3页,但其实网易云这个抓不到有多少页,其实应该是从第一页的json返回的专辑信息得到的总专辑数量有多少,然后进行处理的。但是因为写这个的时候我直接爬的页数,但是当时没测试,所以建议改成这样就可以了:
# album_count是一个歌手所有专辑的总数
# 获得的方法可以先爬第一页的json数据,或者别的你们自己找
for offset in range(0,album_count,12):
    params = {
        'id':singer_id,
        'offset':offset,
        'total':'true',
        'limit':12
    }
  • total:这个参数的意义除了在评论有用,这里不确定到底有什么用,最开始我以为,改成TRUE能不需要offset,会返回所有数据,后来发现没什么区别,最大上限就是一页12,放着也没关系。
  • limit:这里就是12

API

以此类推,其他到底都是这样了,这里把http://moonlib.com/606.html的API集中写一下,method都是GET:
1、歌手专辑:

# 歌手专辑:
# 三种写法,随意,推荐第三种,后面都是
1、http://music.163.com/api/artist/albums/[artist_id]/
2、http://music.163.com/api/artist/albums/166009/id=166009&offset=0&total=true&limit=5
3、url='http://music.163.com/api/artist/albums/166009'
params = {....}

2、专辑里的歌曲列表

# 专辑里的歌曲列表
http://music.163.com/api/album/2457012?ext=true&id=2457012&offset=0&total=true&limit=10

3、歌曲信息

# 歌曲信息
# 这里说明一下,%5B和%5D就是一对中括号[],最好改成[],像歌手专辑里第一种写法那个一样,因为%5B那种写法还要处理,且麻烦。
http://music.163.com/api/song/detail/?id=28377211&ids=%5B28377211%5D

4、歌词信息

# 这个跟其他都不一样,后面的lv、kv、tv是固定的,只要改id即可。
http://music.163.com/api/song/lyric?os=pc&id=93920&lv=-1&kv=-1&tv=-1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容