爬取百度地图,获取城市楼盘信息
有任何需要修正的地方请大家私信,评论。 大佬轻喷@…@
以下是小项目的需求:
*爬取百度地图,获取目标城市楼盘信息,
*包括目标楼盘的经纬度,名称,并保存在excel文档中。
大家稍微等下,<这是一个群>,一群热爱python的小白的欢乐地带,里面有很多学习python的资料,群文件自取哈!!!
下面进入正题!
一、百度地图开发文档的获取
1、你需要一个百度账号,并且完成开发者认证.
2、点击这里,快速进入注册认证.
3、开发文档 ->web服务API ->地点检索
4、copy我们需要访问的url.(先去掉’?‘后面的参数)
http://api.map.baidu.com/place/v2/search
二、代码编写
写上目标url,请求头,我们需要的包
import requests
import xlwt
url = 'http://api.map.baidu.com/place/v2/search'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'}
分析一下文档中提供的一些参数,只取我们需要的,有其他需求的朋友,可以自行查看。
参数名 | 参数含义 | 示例 |
---|---|---|
query | 检索关键字。行政区划区域检索不支持多关键字检索。如果需要按POI分类进行检索,请将分类通过query参数进行设置,如query=美食 | 天安门、美食 |
tag | 检索分类偏好,与q组合进行检索,多个分类以","分隔(POI分类),如果需要严格按分类检索,请通过query参数设置 | 美食 |
region | 检索行政区划区域(增加区域内数据召回权重,如需严格限制召回数据在区域内,请搭配使用city_limit参数),可输入行政区划名或对应cityCode | 北京、131(北京的code)、海淀区、全国,等 |
ak | 开发者的访问密钥,必填项。v2之前该属性为key。 | |
output | 输出格式为json或者xml | json或xml |
page_size | 单次召回POI数量,默认为10条记录,最大返回20条。多关键字检索时,返回的记录数为关键字个数*page_size。 | 10 |
page_num | 分页页码,默认为0,0代表第一页,1代表第二页,以此类推。常与page_size搭配使用,仅当返回结果为poi时可以翻页。 | 0、1、2 |
# 以我所在的城市为例
# city_name = str(input('请输入需要查询的城市:')) --可以自定义输入
page_num = int(input('请输入你要查询到多少页:'))
for i in range(num):params = {'query':'住宅区','tag':'写字楼,住宅区,宿舍,内部楼栋,小区,楼','region':'贵阳','output':'json','ak':'hssX8VzSyk3tbzfhQgzzwPBBAOhev5bU','page_size': 20,'page_num':i,}page_text = requests.get(url=url,headers=headers,params=params).json()
print(page_text)
然后分析我们获取到的数据, 发现我’results’对应的值就是我们需要的信息,
需要进行提取
results_list = page_text['results']# print(type(results_list))# 遍历列表result_list,获取到每一个列表元素for j in range(0, len(results_list)):lst1 = list(results_list[j].values())
获取到我们需要的信息:
写入到excel文档中
def set_style(height,bold=False):#初始化样式style = xlwt.XFStyle()# 为样式创建字体font = xlwt.Font()#字体类型font.name = 'Times New Roman'#字体加粗font.bold = bold#字体颜色font.color_index = 4#字体大小font.height = height#定义格式style.font = fontreturn style
f = xlwt.Workbook(encoding='utf-8') # 创建工作簿# 创建工作表sheet,并指定可以重复写入数据的情况,并设置行高sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False)# 控制行的位置colum = 0row = 0# 设置第一行lst = ['name', 'lat', 'lng', 'address', 'uid']for m in range(0, len(lst)):sheet1.write(0, m, lst[m], set_style(220, True))
分别提取我们需要的信息放进文档中,特别注意,坐标信息是在字典中
for j in range(0, len(results_list))# 获取字典的values值lst1 = list(results_list[j].values()# 写第一列sheet1.write(j + 1, 0, lst1[0])# 写第二列和第三列lst2 = list(lst1[1].values())sheet1.write(j + 1, 1, lst2[0])sheet1.write(j + 1, 2, lst2[1])# 写入第四列sheet1.write(j + 1, 3, lst1[2])![在这里插入图片描述](https://img-blog.csdnimg.cn/20201126230933167.gif#pic_center)# 保存excel文件
f.save('test.xls')
就是这样了,那里写不好,跟我说下,我改
另外有需要python资料的朋友点我
大家一起交流学习!!!
爬取百度地图,获取城市楼盘信息相关推荐
- python爬取百度百科获取中国高校信息
公众号看到的文章,感觉不错,适合练手.所以就自己做了一遍. 废话不多说开整. 目的:手头有一份<学校名称.xlsx>的表格.想要这些学校的英文名称.描述.简称 学校名称.xlsx 最终成果 ...
- Python爬取百度地图智慧交通-城市拥堵指数
第一次写文章 分享一下我的大数据处理课程的一次作业,爬取百度地图智慧交通的城市拥堵指数内容,链接(以长春市为例):http://jiaotong.baidu.com/top/report/?cityc ...
- Python之爬取百度地图兴趣点(POI)数据
关于爬虫系列,前三篇文章分别讲了三个简单案例,分别爬取了<你好,李焕英>电影豆瓣热门短评.58同城在售楼盘房源信息以及安居客网二手房小区详情页数据.通过前三个案例,相信大家都对爬虫有了简单 ...
- python爬取地图地址_Python爬取百度地图poi数据 !
锵锵锵,我来啦.10天过的好快呀,4月份都已经过了三分之一,我的体重还居高不下,qwq.今天给大家分享python爬取百度地图小区的数据,希望大家看后,可以尝试自己编写爬取自己所在市的中学,公园,银行 ...
- Python爬取高德地图各城市天气
Python爬取高德地图各城市天气 爬虫练习项目之一.从高德地图json数据接口获取天气.可以获取某省的所有城市天气.高德地图的这个接口还能获取县城的天气,我只写到了市.有兴趣的朋友可以尝试一下. 完 ...
- selenium爬取百度地图两点时间
老师提出了一个tsp问题的实战项目,让我们自己爬南京40多家景点间的距离去做.为此我自学了selenium库,花了一天时间编出了一段简单的爬取百度地图页面的代码. selenium的安装和驱动安装十分 ...
- Python爬取百度地图的瓦片图
Python爬取百度地图的瓦片图 需求 代码 爬虫结果 需求 采用Python + Selenium + phantomJs,自动爬取百度地图的栅格图(瓦片图),支持自定义区域.级别.无文字地图. 去 ...
- python爬取股票代码_Python爬取百度股市通股票详细信息
更多教程请移步至:洛凉博客 最近一直在看北京理工大学嵩教授主讲的:Python网络爬虫与信息提取 课程里面也有很多实例.大家可以去中国MOOC搜索查看下实例. 不过教授的思路挺好的.代码稳定性也没得说 ...
- 百度地图获取城市名称
1.获取当前连接的网络站点城市名称 var map = new BMap.Map("allmap");var point = new BMap.Point(116.331398, ...
最新文章
- vbs发送邮件(win10环境下成功)
- 信息系统项目管理师_信息系统项目管理师历史文章总结
- swoole会合并到php吗,thinkphp整合swoole
- 12306否认60万用户数据泄露
- python中file和open_Python中的file和open简述
- 最小树——迪杰斯特拉算法
- 【原神】元素反应机制
- 西刺代理python_python爬虫西刺代理ip爬取
- 云原生时代——投资人视角下的云原生趋势思考
- QCA-WIFI技术研讨
- 通过QQ邮箱中转站分享文件
- 微服务拆分之道,几条策略和坚持的原则
- 新浪微博的架构发展历程
- android 反编译 .smali,Android_反编译_smali语法
- 第七届ArcGIS暨ERDAS用户大会
- 介绍一些免费/开源的医学影像后处理工具
- 基恩士编程c语言,基恩士xg7000系列.pdf
- 资深猎头眼中的优质简历是如何炼成的?
- 仿微信聊天记录气泡背景
- 基于H5的App在IOS App Store的打包发布流程
热门文章
- php邮箱群发,PHP的邮件群发系统phplist配置方法详细总结
- 计算机大专学历,2019如何应届毕业薪水过万!
- Win10 IoT C#开发 2 - GPIO Pin 控制发光二极管
- linux转录组分析,完整转录组RNAseq分析流程(tophat2+cufflink+cuffdiff)
- 无名2021/01/18
- 异地局域网对接:异地组网原理与实操
- java实现的一个发送手机短信
- 赵小楼《天道》《遥远的救世主》深度解析(77)叶、冯、刘三人用了丁元英,就用了他的一切,没有能力的时候还谈什么缘,攀缘没有对错,起码得先活着
- 三神器-迭代器、生成器和装饰器
- 关于写javaweb项目,遇到的问题:三层架构