与昨天那样一步一步在jupyter notebook中编写测试代码不同,今天分享的代码,主体部分已经被写到了一个函数当中,这样如果需要抓取一个新的区域只需要调用函数即可。当然这些代码仍然可以在jupyter notebook中运行,待会儿你看到的代码运行测试结果就是在jupyter中进行展示的。
运行环境:安装anaconda3即可,这是一个Python3的打包发行版。新手可查看之前的几篇文章:
#导入需要使用的Python库
importrequests
importjson
importre
importpandasaspd
#--------------------------------------------- #
#定义从百度地图获取区域边界点经纬度的函数 #
#--------------------------------------------- #
defgetRegion_baidu(keyword):
#
获取uid的网址格式uidUrl="http://map.baidu.com/su?wd={}&cid=289&type=0&pc_ver=2"#通过格式化函数得到网址,并进行抓取r_uid=requests.get(uidUrl.format(keyword),
headers={'user-agent':'Mozilla/5.0'})
#编码转换r_uid.encoding='utf-8'#使用正则表达式提取内容uids=re.findall('[a-zA-Z0-9]{24}', r_uid.text)
#用来保存区域边缘的点的经纬度lat_lng=[]