百度地图迁徙链接为 :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爬取百度地图迁徙-迁入地来源和迁出目的地相关推荐

  1. python爬取地图地址_Python爬取百度地图poi数据 !

    锵锵锵,我来啦.10天过的好快呀,4月份都已经过了三分之一,我的体重还居高不下,qwq.今天给大家分享python爬取百度地图小区的数据,希望大家看后,可以尝试自己编写爬取自己所在市的中学,公园,银行 ...

  2. python开源代码百度盘_python爬取百度云网盘资源-源码

    今天测试用了一下python爬取百度云网盘资源. 代码片段import urllib import urllib.request import webbrowser import re def yun ...

  3. Python爬取百度地图智慧交通-城市拥堵指数

    第一次写文章 分享一下我的大数据处理课程的一次作业,爬取百度地图智慧交通的城市拥堵指数内容,链接(以长春市为例):http://jiaotong.baidu.com/top/report/?cityc ...

  4. Python 利用 cookie 模拟登录,爬取指定关键词的淘宝商品信息

    Python 利用 cookie 模拟登录,爬取指定关键词的淘宝商品信息-Selenium 1. 本文目标 由于淘宝网站的不断更新,以前的爬取方法都无法重现,必须需要登录淘宝网站才可以进行搜索商品.所 ...

  5. Python之爬取百度地图兴趣点(POI)数据

    关于爬虫系列,前三篇文章分别讲了三个简单案例,分别爬取了<你好,李焕英>电影豆瓣热门短评.58同城在售楼盘房源信息以及安居客网二手房小区详情页数据.通过前三个案例,相信大家都对爬虫有了简单 ...

  6. Python爬取百度地图的瓦片图

    Python爬取百度地图的瓦片图 需求 代码 爬虫结果 需求 采用Python + Selenium + phantomJs,自动爬取百度地图的栅格图(瓦片图),支持自定义区域.级别.无文字地图. 去 ...

  7. 爬取百度地图,获取城市楼盘信息

    有任何需要修正的地方请大家私信,评论. 大佬轻喷@-@ 以下是小项目的需求: *爬取百度地图,获取目标城市楼盘信息, *包括目标楼盘的经纬度,名称,并保存在excel文档中. 大家稍微等下,<这 ...

  8. 从入门到入土:Python爬虫学习|实例练手|爬取百度翻译|Selenium出击|绕过反爬机制|

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  9. 从入门到入土:Python爬虫学习|实例练手|爬取百度产品列表|Xpath定位标签爬取|代码注释详解

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  10. selenium爬取百度地图两点时间

    老师提出了一个tsp问题的实战项目,让我们自己爬南京40多家景点间的距离去做.为此我自学了selenium库,花了一天时间编出了一段简单的爬取百度地图页面的代码. selenium的安装和驱动安装十分 ...

最新文章

  1. 半导体终极武器光刻机:为何中国难望ASML项背?!有了全套图纸也做不出来
  2. Python入门100题 | 第021题
  3. 485. Max Consecutive Ones
  4. 如何启动多个WebLogic托管服务器
  5. 使用指针实现char型数组,并将输入的字符倒序输出
  6. MacOS 安装PHP5.6
  7. 自动驾驶与交通效率数学建模_业界大咖:5G智慧交通体系将推动自动驾驶换挡提速 | 推广...
  8. python杨辉三角编程_Python基础练习实例49(打印杨辉三角)
  9. 集成unittest与html测试报告
  10. Cameralink多功能接口转换模块
  11. MATLAB图像处理之自动识别,并提取特征
  12. 第一章(1.2) 机器学习算法工程师技能树
  13. codeigniter3 全面集成 phpunit
  14. ubuntu repo安装方法
  15. maven文件彻底修改名字 Java文件修改名字
  16. 手机备忘录里的照片怎么保存到相册里
  17. u3m8缓存文件.ts合成mp4
  18. java职业发展路线图_从程序员到CTO的Java技术路线图 JAVA职业规划 JAVA职业发展路线图 系统后台框架图、前端工程师技能图 B2C电子商务基础系统架构解析...
  19. java手机振动软件_Android实现手机震动效果
  20. Map线程安全几种实现方法

热门文章

  1. 电子邮件服务器匿名转发功能吗,你为什么不能匿名发送电子邮件
  2. XShell配置跳板机访问最终目标主机
  3. python实验报告代写_vector data作业代写、python程序设计作业调试、代做python实验作业、代写OGR python作业代做Python程序|代写Web开发...
  4. 运动世界校园【夜神模拟器】5.30
  5. 破解jQuery插件收费、下载币(单页扒站小工具)
  6. 如何成为优秀的网络工程师,怎么做到含金量高?
  7. android格式化通讯录
  8. 现身说法 程序员 35 岁后的出路
  9. github 提交消息的emoji表情符号规范
  10. 枕头里面加进这些小宝贝能治高血压!快告知你父母~