推荐一个 github 项目 spider163,抓取网络数据,歌曲评论等数据

时间:2021-10-10 19:36:43

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/79072511

推荐一个 github 项目 spider163,抓取网络数据,歌曲评论等数据

1,关于spider163


spider163 是一个非常好的项目,可以理解成一个工具,抓取网络的歌曲和评论等数据。
拿这些数据做啥呢,评论是非常好的东西,可以进行机器学习,做一个仿真评论,可以学习文字的内容。
做机器学习的原始训练数据,分析。

项目地址:
https://github.com/Chengyumeng/spider163

2,使用方式


安装使用超级方便。
使用 pip install spider163 就可以了。
然后在 /root/spider163/spider163.conf 配置mysql 地址。

[core]
db=mysql://root:mysql@mysql.host/spider163?charset=utf8mb4
port=1630

目前只支持 mysql,我用的是 5.5 可以 使用,mariadb 不支持创建表会报错:

自动生成数据库表出现问题: (_mysql_exceptions.ProgrammingError) (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'over VARCHAR(255) DEFAULT 'N', \n\tPRIMARY KEY (id)\n)' at line 8") [SQL: u"\nCREATE TABLE playlist163 (\n\tid INTEGER NOT NULL AUTO_INCREMENT, \n\ttitle VARCHAR(5000) DEFAULT 'System Title', \n\tlink VARCHAR(255) DEFAULT 'No Link', \n\tcnt INTEGER DEFAULT '-1', \n\tdsc VARCHAR(255) DEFAULT 'No Description', \n\tcreate_time TIMESTAMP NULL DEFAULT now(), \n\tover VARCHAR(255) DEFAULT 'N', \n\tPRIMARY KEY (id)\n)\n\n"]

换成 mysql 就行了。

3,抓取数据


$ spider163 initdb
$ # 根据配置文件的数据库信息自动创建数据库表,删除全部数据通过resetdb实现
$ spider163 resetdb
$ # 重建相关数据库
$ spider163 classify
$ # 获取已知曲风列表
$ spider163 playlist
$ # 默认下载全部推荐歌单(1000+),也可以通过指定页码去下载(-p=1),以及歌曲风格(--classify=小语种,默认为全部)
$ spider163 mp3 --playlist=2033391777
$ # 默认下载指定歌单列表内的全部包含版权的歌曲
$ spider163 music
$ # 默认下载10个歌单的歌曲数据,也可以通过指定循环大小(-c=2)来下载10 * c 个歌单内歌曲
$ spider163 comment
$ # 默认根据数据库存储的未下载歌曲随机下载一首单曲的评论,也可以通过-c指定需要下载的单曲数量和-s强制指定歌曲id
$ # spider163 comment -c 10 | spider163 comment -s 209115
$ spider163 lyric --count=10
$ # 抓取10首音乐的歌词,可以通过制定歌曲ID抓取特定一首音乐(--song)
$ spider163 search -q="林依晨"
$ # 搜索功能(待完善,暂支持歌曲搜索)
$ spider163 get -s 209115
$ # 阅读歌曲基本信息、歌词、热评
$ spider163 get --playlist 922064582
$ # 获取歌单的基本信息、歌曲等

按照官方的抓取指南进行操作就行了。

最主要的两个命令:

spider163 music -c=10000
spider163 comment -c 10000

日志:

正在执行第 283828 批抓取计划,本次抓取歌单歌曲 10 个
正在执行第 283829 批抓取计划,本次抓取歌单歌曲 10 个
正在执行第 283830 批抓取计划,本次抓取歌单歌曲 10 个
正在执行第 283831 批抓取计划,本次抓取歌单歌曲 10 个
正在执行第 283832 批抓取计划,本次抓取歌单歌曲 10 个
正在执行第 283833 批抓取计划,本次抓取歌单歌曲 10 个
正在执行第 283834 批抓取计划,本次抓取歌单歌曲 10 个
正在执行第 283835 批抓取计划,本次抓取歌单歌曲 10 个
正在执行第 283836 批抓取计划,本次抓取歌单歌曲 10 个
正在执行第 283837 批抓取计划,本次抓取歌单歌曲 10 个

抓取 10000 条音乐数据和评论数据。呵呵呵。
没有报错,数据抓取成功。

同时 ,spider163 还有一个简单web界面:

推荐一个 github 项目 spider163,抓取网络数据,歌曲评论等数据

推荐一个 github 项目 spider163,抓取网络数据,歌曲评论等数据
推荐一个 github 项目 spider163,抓取网络数据,歌曲评论等数据

推荐一个 github 项目 spider163,抓取网络数据,歌曲评论等数据

展示数据若干条。

4,总结


这个lib 工具,超级方便呢。这些数据分析起来很方便。
但是下载音乐接口不能使用。

("Connection broken: error(104, 'Connection reset by peer')", error(104, 'Connection reset by peer'))

报错呢。不过没有关系。有数据才是重要的。
然后如何使用这些数据分析就要用到 word2vec啦。
使用TensorFlow 分析数据啦。

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/79072511

推荐一个 github 项目 spider163,抓取网络数据,歌曲评论等数据