python画地图模拟迁徙_python爬取百度地图迁徙-迁入地来源和迁出目的地
百度地图迁徙链接为 :http://qianxi.baidu.com/
建议尽早爬取数据,以后可能会关闭
代码为:
import random
import time
from urllib import request
import re
import xlwt
from utils.read_write import readTXT
def set_style(name, height, bold=False):
style = xlwt.XFStyle() # 初始化样式
font = xlwt.Font() # 为样式创建字体
font.name = name # 'Times New Roman'
font.bold = bold
font.color_index = 4
font.height = height
# borders= xlwt.Borders()
# borders.left= 6
# borders.right= 6
# borders.top= 6
# borders.bottom= 6
style.font = font
# style.borders = borders
return style
f = xlwt.Workbook()
sheet2 = f.add_sheet(u'sheet2', cell_overwrite_ok=True) # 创建sheet2
row0 = [u'迁入城市',u'所在城市',u'占比',u'迁出城市',u'所在城市',u'占比']
# 生成第一行
for i in range(0, len(row0)):
sheet2.write(0, i, row0[i], set_style('Times New Roman', 200, True))
headers = {"User-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 "
"(KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0"}
opener = request.build_opener()
opener.add_headers = [headers]
request.install_opener(opener)
default = set_style('Times New Roman', 220)
ID = []
name = []
date_list = []
lines = readTXT('D:\project\jianguiyuan\data\BaiduMap_cityCode_1102.txt')
for i in range(1, 389):
obj = lines[i].split(',')
ID.append(str(obj[0]))
name.append(str(obj[1]))
for riqi in range(20200101, 20200132):
date_list.append(str(riqi))
for riqi in range(20200201, 20200226):
date_list.append(str(riqi))
for riqi in date_list:
for i in range(0, len(ID)):
firsturl = "http://huiyan.baidu.com/migration/cityrank.jsonp?dt=country&id=" + str(
ID[i]) + "&type=move_in&date=" + str(riqi) + "&callback=jsonp"
print(firsturl)
randint_data = random.randint(0, 6)
time.sleep(randint_data)
data = request.urlopen(firsturl).read().decode("utf-8")
data = data.encode("utf-8").decode("unicode_escape")
# 对Unicode编码进行改造
pat = '{"city_name":"(.*?)","province_name":".*?","value":.*?}'
pat1 = '{"city_name":".*?","province_name":".*?","value":(.*?)}'
result = re.compile(pat).findall(str(data))
result1 = re.compile(pat1).findall(str(data))
column0 = result
column1 = result1
column2 = name[i]
for i1 in range(0, len(column0)):
sheet2.write(i1 + len(column0) * i + 1, 0, column0[i1], default)
for i1 in range(0, len(column0)):
sheet2.write(i1 + len(column0) * i + 1, 1, column2, default)
for i1 in range(0, len(column1)):
sheet2.write(i1 + len(column0) * i + 1, 2, column1[i1], default)
firsturl = "http://huiyan.baidu.com/migration/cityrank.jsonp?dt=country&" \
"id="+str(ID[i])+"&type=move_out&date="+str(riqi)+"&callback=jsonp"
print(firsturl)
randint_data = random.randint(0, 6)
time.sleep(randint_data)
data2 = request.urlopen(firsturl).read().decode("utf-8")
data2 = data2.encode("utf-8").decode("unicode_escape") #
#对Unicode编码进行改造
pat = '{"city_name":"(.*?)","province_name":".*?","value":.*?}'
pat1 = '{"city_name":".*?","province_name":".*?","value":(.*?)}'
result2 = re.compile(pat).findall(str(data2))
result12 = re.compile(pat1).findall(str(data2))
column0 = result2
column1 = result12
column2 = name[i]
for i1 in range(0, len(column0)):
sheet2.write(i1 + len(column0) * i + 1, 3, column0[i1], default)
for i1 in range(0, len(column0)):
sheet2.write(i1 + len(column0) * i + 1, 4, column2, default)
for i1 in range(0, len(column1)):
sheet2.write(i1 + len(column0) * i + 1, 5, column1[i1], default)
firsturl = "http://huiyan.baidu.com/migration/provincerank.jsonp?dt=country&id=" + str(
ID[i]) + "&type=move_in&date=" + str(riqi) + "&callback=jsonp"
print(firsturl)
randint_data = random.randint(0, 6)
time.sleep(randint_data)
data = request.urlopen(firsturl).read().decode("utf-8")
data = data.encode("utf-8").decode("unicode_escape")
# 对Unicode编码进行改造
pat = '{"province_name":(.*?),"value":.*?}'
pat1 = '{"province_name":".*?","value":(.*?)}'
result = re.compile(pat).findall(str(data))
result1 = re.compile(pat1).findall(str(data))
column0 = result
column1 = result1
column2 = name[i]
for i1 in range(0, len(column0)):
sheet2.write(i1 + len(column0) * i + 1, 6, column0[i1], default)
for i1 in range(0, len(column0)):
sheet2.write(i1 + len(column0) * i + 1, 7, column2, default)
for i1 in range(0, len(column1)):
sheet2.write(i1 + len(column0) * i + 1, 8, column1[i1], default)
firsturl = "http://huiyan.baidu.com/migration/provincerank.jsonp?dt=country&" \
"id="+str(ID[i])+"&type=move_out&date="+str(riqi)+"&callback=jsonp"
print(firsturl)
randint_data = random.randint(0, 6)
time.sleep(randint_data)
data2 = request.urlopen(firsturl).read().decode("utf-8")
data2 = data2.encode("utf-8").decode("unicode_escape") #
#对Unicode编码进行改造
pat = '{"province_name":(.*?),"value":.*?}'
pat1 = '{"province_name":".*?","value":(.*?)}'
result2 = re.compile(pat).findall(str(data2))
result12 = re.compile(pat1).findall(str(data2))
column0 = result2
column1 = result12
column2 = name[i]
for i1 in range(0, len(column0)):
sheet2.write(i1 + len(column0) * i + 1, 9, column0[i1], default)
for i1 in range(0, len(column0)):
sheet2.write(i1 + len(column0) * i + 1, 10, column2, default)
for i1 in range(0, len(column1)):
sheet2.write(i1 + len(column0) * i + 1, 11, column1[i1], default)
print("大吉大利,今晚吃鸡啊!")
filename = 'D:\data\人口数据\百度迁徙大数据\全国城市省份市内流入流出\\'+str(riqi)+'.xls'
f.save(filename)
其中涉及到的文件下载请点击
https://download.csdn.net/user/qq_30803353/uploads
read_write.py文件链接:
//download.csdn.net/download/qq_30803353/12192963
百度城市编码文件:
//download.csdn.net/download/qq_30803353/12192965
python画地图模拟迁徙_python爬取百度地图迁徙-迁入地来源和迁出目的地相关推荐
- python爬取地图地址_Python爬取百度地图poi数据 !
锵锵锵,我来啦.10天过的好快呀,4月份都已经过了三分之一,我的体重还居高不下,qwq.今天给大家分享python爬取百度地图小区的数据,希望大家看后,可以尝试自己编写爬取自己所在市的中学,公园,银行 ...
- python开源代码百度盘_python爬取百度云网盘资源-源码
今天测试用了一下python爬取百度云网盘资源. 代码片段import urllib import urllib.request import webbrowser import re def yun ...
- Python爬取百度地图智慧交通-城市拥堵指数
第一次写文章 分享一下我的大数据处理课程的一次作业,爬取百度地图智慧交通的城市拥堵指数内容,链接(以长春市为例):http://jiaotong.baidu.com/top/report/?cityc ...
- Python 利用 cookie 模拟登录,爬取指定关键词的淘宝商品信息
Python 利用 cookie 模拟登录,爬取指定关键词的淘宝商品信息-Selenium 1. 本文目标 由于淘宝网站的不断更新,以前的爬取方法都无法重现,必须需要登录淘宝网站才可以进行搜索商品.所 ...
- Python之爬取百度地图兴趣点(POI)数据
关于爬虫系列,前三篇文章分别讲了三个简单案例,分别爬取了<你好,李焕英>电影豆瓣热门短评.58同城在售楼盘房源信息以及安居客网二手房小区详情页数据.通过前三个案例,相信大家都对爬虫有了简单 ...
- Python爬取百度地图的瓦片图
Python爬取百度地图的瓦片图 需求 代码 爬虫结果 需求 采用Python + Selenium + phantomJs,自动爬取百度地图的栅格图(瓦片图),支持自定义区域.级别.无文字地图. 去 ...
- 爬取百度地图,获取城市楼盘信息
有任何需要修正的地方请大家私信,评论. 大佬轻喷@-@ 以下是小项目的需求: *爬取百度地图,获取目标城市楼盘信息, *包括目标楼盘的经纬度,名称,并保存在excel文档中. 大家稍微等下,<这 ...
- 从入门到入土:Python爬虫学习|实例练手|爬取百度翻译|Selenium出击|绕过反爬机制|
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...
- 从入门到入土:Python爬虫学习|实例练手|爬取百度产品列表|Xpath定位标签爬取|代码注释详解
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...
- selenium爬取百度地图两点时间
老师提出了一个tsp问题的实战项目,让我们自己爬南京40多家景点间的距离去做.为此我自学了selenium库,花了一天时间编出了一段简单的爬取百度地图页面的代码. selenium的安装和驱动安装十分 ...
最新文章
- 半导体终极武器光刻机:为何中国难望ASML项背?!有了全套图纸也做不出来
- Python入门100题 | 第021题
- 485. Max Consecutive Ones
- 如何启动多个WebLogic托管服务器
- 使用指针实现char型数组,并将输入的字符倒序输出
- MacOS 安装PHP5.6
- 自动驾驶与交通效率数学建模_业界大咖:5G智慧交通体系将推动自动驾驶换挡提速 | 推广...
- python杨辉三角编程_Python基础练习实例49(打印杨辉三角)
- 集成unittest与html测试报告
- Cameralink多功能接口转换模块
- MATLAB图像处理之自动识别,并提取特征
- 第一章(1.2) 机器学习算法工程师技能树
- codeigniter3 全面集成 phpunit
- ubuntu repo安装方法
- maven文件彻底修改名字 Java文件修改名字
- 手机备忘录里的照片怎么保存到相册里
- u3m8缓存文件.ts合成mp4
- java职业发展路线图_从程序员到CTO的Java技术路线图 JAVA职业规划 JAVA职业发展路线图 系统后台框架图、前端工程师技能图 B2C电子商务基础系统架构解析...
- java手机振动软件_Android实现手机震动效果
- Map线程安全几种实现方法
热门文章
- 电子邮件服务器匿名转发功能吗,你为什么不能匿名发送电子邮件
- XShell配置跳板机访问最终目标主机
- python实验报告代写_vector data作业代写、python程序设计作业调试、代做python实验作业、代写OGR python作业代做Python程序|代写Web开发...
- 运动世界校园【夜神模拟器】5.30
- 破解jQuery插件收费、下载币(单页扒站小工具)
- 如何成为优秀的网络工程师,怎么做到含金量高?
- android格式化通讯录
- 现身说法 程序员 35 岁后的出路
- github 提交消息的emoji表情符号规范
- 枕头里面加进这些小宝贝能治高血压!快告知你父母~