百度地图爬虫——小试牛刀
利用百度地图进行爬虫,首先要在百度地图API官网上注册并创建应用AK,如下图。
点击创建应用,设置应用名称。
其他设置按照系统提示选择,点击提交即可。
那么我们只需要应用的AK即可。如果免费的流量不够用,可以申请开发者得到更多的流量。下面进入正题。直接上代码。
import requests
from tqdm import tqdm
def baidu_map_search():
apk_key = "vSj23PqoC3nFXTOwW9xwRifMGiVjo3bV"#这部分写你自己的应用AK
url = "http://api.map.baidu.com/place/v2/search"#官方规定,不用改
types = [ '酒店', '美食' ]#爬虫数据分类,根据自己需求设置
with open('region.txt', 'r', encoding='utf-8') as f:
regions = f.read()
regions = regions.split('、')#regions里是我自己的搜索范围,这里我是按省市划分的
region_index = 0
type_index = 0
page = 0
f = open('pos_{}.txt'.format(type_index), 'w', encoding='utf-8')
while True:
params = {
"query": types[type_index],
"output": "json",
"ak": apk_key,
"region": regions[region_index],
"page_size": 20,
"page_num": page,
"scope": 1,
}#官方规定
page += 1
response = requests.get(url, params)
result = response.json()
status = result.get("status")
message = result.get("message")
if status != 0 and status != 2:
raise Exception(message)
data = result.get("results", {})
if len(data) == 0:
region_index += 1
page = 0
if region_index == len(regions):
region_index = 0
type_index += 1
f.close()
f = open('pos_{}.txt'.format(type_index), 'w', encoding='utf-8')
if type_index == len(types):
f.close()
return
print('{} {} page:{} num:{}'.format(
regions[region_index], types[type_index], page, len(data)))
for row in data:
item = {
"name": row.get("name", "")
}
for k, v in item.items():
if '市' in v:
continue
f.write(v.split('(')[0]+'\n')
if True:
baidu_map_search()
results = []
for i in range(11):
with open('pos_{}.txt'.format(i), 'r', encoding='utf-8') as f:
data = f.read().splitlines()
for v in tqdm(data):
if v[0] >= 'A' and v[0] <= 'z':
continue
if '州' in v or '县' in v or '市' in v or '区' in v :
continue
if v in results:
continue
results.append(v)
with open('pos_ch.txt', 'w', encoding='utf-8') as f:
for v in results:
f.write(v+'\n')
print(len(results))
除此之外,还有别的搜索规范,比如根据公里范围等等,具体的调用方式可以参考官网给的格式。
不喜勿喷,欢迎交流。
百度地图爬虫——小试牛刀相关推荐
- 百度地图爬虫——获取某区域所有中学附近的网吧数据
本文思路如下:调用百度地图API获取某区域内所有中学信息,依次获得每个中学的地理坐标,查询该坐标一定半径周围内所有网吧数据,将学校数据和网吧数据依次存入txt文件中. 一.百度地图API密钥申请 申请 ...
- python抓取百度地图数据_Python 百度地图爬虫 - 搜索数据采集
class Hot_City_Coordinates(): """获取热门城市""" def __init__(self): self.he ...
- python批量爬取小网格区域坐标系_Python爬虫实例_利用百度地图API批量获取城市所有的POI点...
上篇关于爬虫的文章,我们讲解了如何运用Python的requests及BeautifuiSoup模块来完成静态网页的爬取,总结过程,网页爬虫本质就两步: 1.设置请求参数(url,headers,co ...
- python: 百度地图api爬虫
python网络爬虫的本质就是两步: 设置请求参数(url,headers,cookies,post或get验证等)访问目标站点的服务器: 解析服务器返回的文档,提取需要的信息. 而API的工作机制与 ...
- python爬虫百度地图_零基础掌握百度地图兴趣点获取POI爬虫(python语言爬取)(基础篇)...
实现目的:爬取昆明市范围内的全部中学数据,包括名称.坐标. 先进入基础篇,本篇主要讲原理方面,并实现步骤分解,为python代码编写打基础. 因为是0基础开始,所以讲得会比较详细. 如实现目的所讲,爬 ...
- python爬取百度地图_python 爬虫百度地图的信息界面的实现方法
python 爬虫百度地图的信息界面的实现方法 发布时间:2020-09-23 00:02:08 来源:脚本之家 阅读:78 作者:猫苘 在爬虫百度地图的期间,就为它做了一个界面,运用的是PyQt5. ...
- 爬虫实践:通过百度地图API获取省份公园数据
目标 通过百度地图Web服务API获取中国所有城市的公园数据,并且获取每一个公园具体的评分.描述等详情,最终将数据存储到MySQL数据库中. 实践准备 百度地图Place API的地址为 http:/ ...
- 零基础掌握百度地图兴趣点获取POI爬虫(python语言爬取)(基础篇)
实现目的:爬取昆明市范围内的全部中学数据,包括名称.坐标. 先进入基础篇,本篇主要讲原理方面,并实现步骤分解,为python代码编写打基础. 因为是0基础开始,所以讲得会比较详细. 如实现目的所讲,爬 ...
- python 接入百度地图数据包下载_Python爬虫-利用百度地图API接口爬取数据并保存至MySQL数据库...
首先,我这里有一份相关城市以及该城市的公园数量的txt文件: 分析-02.png 其次,利用百度地图API提供的接口爬取城市公园的相关信息. 所利用的API接口有两个: 1.http://api.ma ...
最新文章
- idea创建mybatis的config.xml和mapper.xml方法
- windows10自动填充密码开机自动登陆
- 学习笔记14-C语言-小项目-通讯录
- Junit4中Test Suite的用法
- VSCode配置JAVA开发环境,java初级面试笔试题
- Go语言的变量、函数、Socks5代理服务器 1
- 乳化液稳定剂php,乳化液稳定剂PHP对小于0.1mm煤泥浮选的影响
- 基于相关向量机RVM的分类算法
- 浏览器获取京东cookie教程
- Pandas的read_excel()函数读取excel时遇到身份证含空值(pandas识别nan为float类型)自动变成科学计数法的解决办法
- 采购订单文本复制规则
- mysql 测试数据库employees导入
- OpenGL(5)Texture - 两张图片
- 如何将centos 语系设置成为中文
- CCNA理论学习笔记整理(一)
- Calendars and DateFormats should not be static
- 任岁月变迁,我心不惊
- [转载]用Java开发企业级无线应用
- 【蓝桥杯】第11届Scratch国赛中级组第6题 -- 3D打印小猫
- python 数组打包_将4字节整数打包到bytearray或数组中
热门文章
- Ubuntu 16.04 使用校园网客户端上网
- 抖音小店入驻条件及费用最新版,2022抖音开店,商家入门指南
- ARM CM0 push和pop指令
- hostapd建立无线AP出现did not acknowledge association的解决办法
- 【亲测可用】云里黑白第十三回——解决出现问题,你的PIN不可用,单击以重新设置PIN,诊断启动,禁用服务
- 【ACWing】2715. 后缀数组
- 同时删除Excel表格中多行隔行空白行
- SDIO WiFi调试经验总结
- 美颜SDK有什么用?美颜SDK可以在直播和短视频中有哪些作用?
- 计算机基础应用在线免费答题,计算机应用基础简答题附答案.doc