首先我准备利用mysql来存储我爬取的信息,建一个host表如下:
然后下载pymysql ,利用它与数据库链接,因为在这里我只涉及到写入的操作:
Unit_Mtsql
然后就是使用Beautifulsoup框架对斗鱼的链接进行解析,为了使用的方便,自己写了一个host类,主要用于存储直播间的相关信息。基本思路是:1.获取斗鱼的几大模块,斗鱼一共有7个模块:网游晋级,单机热,手游休闲等 。2.获取每个模块的子模块 3.从每个子模块中找到旗下的直播间信息。
最后直接运行get_info()就行
结果如下:
但是程序到这似乎还有两点没有解决:
1.斗鱼的关注数是使用gif图片加载。暂时还没有发现获取每个直播间关注数的方法。
2.无法找到全部的直播间信息。
这两个问题后面再解决。
通过对斗鱼api数据接口的分析,我找到了斗鱼后台的online实际人数。因此我通过了爬虫爬取了在线的人数。
在斗鱼直播的后台数据解析的过程我发现了一个数据接口,这个数据接口包含有:online关键关键数据。个人估计是斗鱼直播间的实际人数。
通过对数据的分析,这个字和热度呈正相关。真实性比较高。
我利用斗鱼的热度和实际人数的比值 coefficient(这个系数)表示斗鱼对该主播的支持情况。
----------------------------------------------------------------------------------------分割线-----------------------------------------------------------------------------------
再来更新一波:通过对斗鱼的后台数据的分析找到了斗鱼的分页数据,也就是可以爬取斗鱼的所有直播间的信息。
我编译了相关代码,只要你安装了mysql,直接运行可执行文件。 可以自动完成建表爬取过程,不需要安装相关依赖。目前支持Windows/MacOS系统。
Github地址:/danzhewuju/DouyuSpider