栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python初学者的统计程序——涉及网络爬虫、数据储存、时间获取和统计图生成

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python初学者的统计程序——涉及网络爬虫、数据储存、时间获取和统计图生成

最近想写几个程序巩固一下最近的python知识,所以写了这个程序。想法是用网络爬虫从中文乐高论坛​​​​​上爬取数据并用matplotlib生成统计图。

红框中是要获取的数据

结构:

    web_spider.py——负责从网页上爬取数据并保存于data.jsonplot.py——负责读取data.json中的数据并生成统计图,每天运行reset_json.py——负责将data.json格式化,一般不用data.json——储存着网页数据的.json文件,需要导入json包进行读取和写入

data.json的详细结构:

data.json中有一个字典,字典的每一个键值对都代表了一天的数据。其中键是当天的日期,而值是一个列表,储存着当天的数据。例如{"2022-02-24": ["108", "95", "694463", "142281"], "2022-02-25": ["79", "116", "694550", "142281"], "2022-02-26": ["45", "117", "694633", "142306"]}储存了三天的数据,其中第一天是2022年2月24日,截止至当天有694463篇帖子等等

下面开始讲代码

web_spider.py

第一部分是数据获取

先用datetime.date.today获取实时日期,然后用网络爬虫获取网络数据,爬下来的数据是列表形式,如['47', '117', '694635', '142306']。

第二部分是数据储存

用json.load()打开data.json,加入新的键值对,然后再用json.dump()保存。保存的数据会覆盖之前的数据。

plot.py

第一部分是数据解析

生成统计图需要xy轴上数据的列表

打开data.json,用for循环将所有的值写入列表web_datas,并将每个值的第三项(截止至当天的帖子总数)写入列表post_count。将所有的键(日期)写入列表dates。

然后生成统计图

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/753364.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号