从0开始搭建一个疫情地图小程序——数据爬虫篇

前言

其实这个小程序一个月前就已经做好了,但是当时忙着实习和毕设还有一些乱七八糟的事情,所以拖到现在才来做总结。

文章目录

    • 前言
    • 源代码
    • 数据来源
      • 分析请求
          • 中国地图svg数据
          • 一些制作好的图片
      • 从JS文件请求入手
      • 从url网址发现爬虫接口
    • 编写爬虫
      • 搭建服务器
      • 未处理的数据
        • 使用cheerio解析html
      • 将这些文件保存到我们需要的格式并且保存为js文件
        • 保存文件
        • 删除文件

源代码

数据来源

在春节的时候,疫情地图一开始用的比较多的是丁香医生的疫情地图,我们可以利用爬虫把这些数据获取下来。
从0开始搭建一个疫情地图小程序——数据爬虫篇_第1张图片

分析请求

我们打开F12,查看页面的请求
从0开始搭建一个疫情地图小程序——数据爬虫篇_第2张图片

中国地图svg数据

从0开始搭建一个疫情地图小程序——数据爬虫篇_第3张图片
这个是地图绘制的SVG数据,这个我们后面会使用到。

一些制作好的图片

我们发现一些数据图片并不是动态生成的,而是直接放回数据。
从0开始搭建一个疫情地图小程序——数据爬虫篇_第4张图片
除此之外都是一些图片和JS文件了,这些页面的数据好像都是服务器渲染的。

从JS文件请求入手

从0开始搭建一个疫情地图小程序——数据爬虫篇_第5张图片
我们通过搜索http直接去查看页面的请求地址,然后再使用postman去请求看看返回的数据是什么
比如:
1. svg格式从0开始搭建一个疫情地图小程序——数据爬虫篇_第6张图片
2. 一些连接地址从0开始搭建一个疫情地图小程序——数据爬虫篇_第7张图片
3. 从0开始搭建一个疫情地图小程序——数据爬虫篇_第8张图片结合前面的地图数据,这个应该是地图SVG的JSON文件

发现并没有疑似请求数据的接口。就在我不知道怎么进行下去的时候,发现了URL网址有线索。

从url网址发现爬虫接口

由于我是从小程序公众号点击复制到PC端上打开的,所以发现url网址携带了一些参数。
在这里插入图片描述
https://ncov.dxy.cn/ncovh5/view/pneumonia_peopleapp?from=timeline&isappinstalled=0&scene=126&clicktime=1580901335
我们都知道url网址请求,其实是一个get请求,携带的参数有一个clicktime点击时间的描述,后面接的应该是Date.parse()返回的毫秒数。
所以我就修改这个时间,在postman上去请求发现了一个突破口。
从0开始搭建一个疫情地图小程序——数据爬虫篇_第9张图片
返回的是页面信息,而在

你可能感兴趣的:(一些学习的研究,小程序,nodejs)