百度迁徙爬虫工具:Baidu_migration_crawler

Baidu_migration_crawler是一个百度迁徙数据爬虫

新冠肺炎抗疫形势严峻,国内多家公司都为抗疫贡献了自己的力量,如丁香园的疫情播报和地图,百度迁徙的人口流动信息等。这些数据能够为分析和预测疫情传播、发展提供重要基础。

为了让百度迁徙提供的人口流动数据更便于分析,笔者使用Python制作了Baidu_migration_crawler工具来进行自动的数据爬取和解析存储。

  • 注:使用该工具需要先安装MongoDB数据库(非常适合存储这种形式的数据)和相关Python依赖

功能介绍

爬取百度迁徙上的数据,支持每日增量爬取以下内容:

  • 人口迁出数据(比例):市级->省级、市级->市级、省级->省级、省级->市级
  • 人口迁入数据(比例):市级->省级、市级->市级、省级->省级、省级->市级
  • 人口迁出数据(数值/规模指数):市级、省级
  • 人口迁入数据(数值/规模指数):市级、省级
  • 全国迁出数据(比例):市级、省级
  • 全国迁入数据(比例):市级、省级
  • 城内迁徙数据:市级

项目地址

数据样例

在这里插入图片描述

环境依赖

  • requests
  • tqdm
  • pymongo
  • MongoDB数据库
  • json

使用方法

location_ids.txt文件存放了待爬取的省级、市级行政单位的行政区划代码,可根据需要自行修改

出于方便存取的考虑,数据存储使用了MongoDB数据库,需要安装相应的环境才能使用本程序。如有需要请修改connect_str为自己的数据库连接URL

执行main.py中的fetch_timerange()方法,传入格式为YYYYMMDD的起止日期即可进行爬取,如20200402。若仅需要爬取一天,则设置相同的起止日期

数据结构

数据包含三个Collection,分别为全国分布数据(cn_distribution)、省级迁徙数据(province_flow)和市级迁徙数据(city_flow):

  • 全国分布数据(cn_distribution),每日的数据包含4个Document,分别为省级的迁入(move_in)、迁出(move_out)和市级的迁入、迁出情况。每个Document中包含各省或市的具体情况数组。
  • 省级迁徙数据(province_flow),每日的数据包含33 * 4个Document,即我国33个省级行政单位(含直辖市及港澳,不含台湾地区)每日的省级迁入、迁出和市级迁入、迁出情况。
  • 市级迁徙数据(city_flow),每日的数据包含368 * 4个Document,即百度迁徙所收录的368个市级行政单位(为方便分析,含直辖市及港澳,不含台湾地区)每日的省级迁入、迁出和市级迁入、迁出情况。
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值