Python爬取南京地铁微博发布客流数据并进行分析


之前在网上看到了分析北京地铁客流数据的开源项目,就想试着分析一下南京地铁的客流数据,可是找了很久没有找到可以获得南京地铁客流数据的接口,就去南京地铁微博看了一下,果然跟北京地铁一样,基本上每天都会更新客流数据。所以开始动手~

爬南京地铁微博,获取有用的数据并保存成txt文件

首先,百度搜一下Python爬新浪微博内容的框架,有很多很多,我们选择一个,随便改改,发现可以用啦:
南京地铁微博ID:2638276292
根据下面的条件进行初步的筛选,基本上可以找到对应的微博。

weibocontentindex=str(text).find("南京地铁")
weibocontentindex2=str(text).find("客运")if weibocontentindex > -1 and weibocontentindex2 > -1:fh.write(text[weibocontentindex-1:]+'\n')

然后我们就初步保存了南京地铁微博中发布的客流数据。

读取txt文件,整理好数据后存入sqlite3数据库

因为微博是工作人员发布的,存在一些文本格式上的问题,还有表述上的区别,所以首先处理这些异常。这里面有很多坑,慢慢踩~
然后根据日期换算为实际的日期,以日期为唯一索引,将当日的所有客流数据存入sqlite3中。

def getdate(date1):global year1if date1.find('月') != -1:date1=date1.replace('月',';')date1=date1.replace('日',';')list2=date1.split(';')if '1' == list2[0] and '2' ==  list2[1]:year1=year1-1date2=str(year1)+'-'+list2[0]+'-'+list2[1]else:date2=str(year1)+'-'+list2[0]+'-'+list2[1]date3 = datetime.datetime.strptime(date2,'%Y-%m-%d').date()return date3
create_table_sql = '''CREATE TABLE `NajingMetro` (`DATE` varchar(20) NOT NULL,`LineALL` REAL(20) DEFAULT NULL,`Line1` REAL(20) DEFAULT NULL,`Line2` REAL(20) DEFAULT NULL,`Line3` REAL(20) DEFAULT NULL,`Line4` REAL(20) DEFAULT NULL,`Line10` REAL(20) DEFAULT NULL,`LineS1` REAL(20) DEFAULT NULL,`LineS3` REAL(20) DEFAULT NULL,`LineS7` REAL(20) DEFAULT NULL,`LineS8` REAL(20) DEFAULT NULL,`LineS9` REAL(20) DEFAULT NULL,PRIMARY KEY (`DATE`))'''

然后就得到较为完整的数据了:

读取数据库,绘图

使用SQL语句,从数据库中读入我们的数据,将数据转换成为List,使用pyechart进行绘图,然后取最近30天的数据,绘制饼图。

结果分析




基本上可以看出来,周一到周五的客流要比周六周日多。
2018年十一假期,选择9月30日出行的最多。

一年的极小值出现在过年的时候,整体客流都比较少。

上图为各线路占比。


整体的客流趋势是在上升的。
其实还发现一点,就是平时二号线人数略微多于三号线人数,但是节假日三号线人数会反超,这时因为三号线上有南京站、南京南站两个车站。
整体项目代码与数据请移步github,麻烦给我点一个Star~,谢谢:
NanjingMetro_Github

Python爬取南京地铁微博发布客流数据并进行分析相关推荐

  1. python爬取客流数据_Python爬取南京地铁微博发布客流数据并进行分析

    Python爬取南京地铁微博发布客流数据并进行分析 之前在网上看到了分析北京地铁客流数据的开源项目,就想试着分析一下南京地铁的客流数据,可是找了很久没有找到可以获得南京地铁客流数据的接口,就去南京地铁 ...

  2. python爬取天气与微博热搜自动发给微信好友

    python爬取天气与微博热搜自动发给微信好友 前言 系统环境 正文 爬取中国天气网 爬取微博热搜 微信自动发送消息 源代码 总结 github地址 前言 忙着毕设与打游戏之余,突然想着写个爬虫练练手 ...

  3. python爬取链家网的房屋数据

    python爬取链家网的房屋数据 爬取内容 爬取源网站 爬取内容 爬取思路 爬取的数据 代码 获取房屋url 获取房屋具体信息 爬取内容 爬取源网站 北京二手房 https://bj.lianjia. ...

  4. Python爬取王者荣耀英雄的皮肤数据并下载皮肤图片项目

    Python爬取王者荣耀英雄的皮肤数据,并下载皮肤图片!高清的图片用来做桌面也不错哟~ 网址:https://pvp.qq.com/web201605/herolist.shtml 1.获得英雄信息, ...

  5. 利用python爬取丁香医生上新型肺炎数据,并下载到本地,附带经纬度信息

    新增:国外疫情网站介绍 已更新:爬取国外疫情数据 已更新:新型肺炎历史数据下载 2020年3月27日补充: 制作了一个全球肺炎数据查询下载网站,效果如下: 访问地址:http://119.3.227. ...

  6. python爬取电脑本地数据_利用python爬取丁香医生上新型肺炎数据,并下载到本地,附带经纬度信息...

    原标题:利用python爬取丁香医生上新型肺炎数据,并下载到本地,附带经纬度信息 新型肺炎肆虐全国,可以预知,最近一两年地理学中会有一部分论文研究新型肺炎的空间分布及与其他指标的关联分析.获取其患病人 ...

  7. python爬取b站弹幕并进行数据可视化

    python爬取b站弹幕并进行数据可视化 1.第一步,爬取b站弹幕 我们随便打开一个b站视频 打开开发者模式,在network下搜索list,可以找到该视频的弹幕文件 打开之后是这个样子的 结构还是比 ...

  8. 利用Python爬取全国250m精度的人口数据

    此次以GeoQ(智图)为基础,利用Python爬取全国250m精度的人口数据(GeoQ)这个网站开放过250m精度的人口分布数据,而且人口分布有年龄分段等属性.先得注册登录到达创建地图的界面. 看人口 ...

  9. 利用Python爬取全国250m精度的人口数据(GeoQ)、房价数据和公交站(线路)等数据

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 中原百科 GIS大师兄 PS:如有需要Python学习资料的小伙伴可 ...

最新文章

  1. Web 开发人员必备的随机 JSON 数据生成工具
  2. GPT-3获NeurIPS 2020最佳论文奖
  3. 中科院博士因论文致谢走红后,回到母校演讲再刷屏!网友:是对寒门学子最好的激励...
  4. crontab(定时任务操作)
  5. js中表单验证常用到的正则表达式
  6. P4130,jzoj1214-[NOI2007]项链工厂【线段树】
  7. [转载]我的WafBypass之道(upload篇)
  8. matlab 三维显示原图像_图像分割基础
  9. python圆柱体_python绘制圆柱体的方法
  10. python把a当作b_Python中的zip(), *zip()与zip(*zip(a,b))
  11. Android自定义ListView示例,以创建不可滚动的ListView
  12. 单链表尾指针要置为空?为什么单链表建立完以后,比如p指向尾节点,要加上一句p-next=NULL;?
  13. 电脑连接移动设备android驱动程序,手机连接电脑驱动程序下载汇总
  14. 知网文档下载中的CAJ和PDF有什么区别?
  15. 海康RTSP客户端连接深入分析
  16. 计算机领域经典书籍推荐
  17. codewars练习(javascript)-2021/3/14
  18. APP-Log日志采集
  19. 《IT学生解惑手册》电子版免费下载!
  20. 服务器能ping通 不能打开网页,能ping通,但是不能打开网页

热门文章

  1. 昨天试用了360安全卫士,感觉毫无用处啊.
  2. 鸿蒙OS应用开发之——环境搭建
  3. php yield rest,yeild(pythonyield详解)
  4. 微信小程序拉扯抖动问题
  5. 数据库系统原理练习题(一)
  6. 【WEB】CSS常用基础知识
  7. c语言如何自动生成word,C语言读取word文档的方法
  8. Python中异常操作
  9. Java调用腾讯会议Api示例
  10. 2018ACM校赛 D 白狼(暴力枚举)