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

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

红框中是要获取的数据

结构:

  1. web_spider.py——负责从网页上爬取数据并保存于data.json
  2. plot.py——负责读取data.json中的数据并生成统计图,每天运行
  3. reset_json.py——负责将data.json格式化,一般不用
  4. 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。

然后生成统计图

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值