python requests爬取高德地图数据的实例


Posted in Python onNovember 10, 2018

如下所示:

1.pip install requests

2.pip install lxml

3.pip install xlsxwriter

import requests #想要爬必须引
from lxml import html #这个是用于页面爬取
import xlsxwriter#操作Excel表格库
 
workbook = xlsxwriter.Workbook('E:/test/test.xlsx')# 新建的Excel表格文档路径
worksheet = workbook.add_worksheet() # 建立sheet, 可以work.add_worksheet('employee')来指定sheet名,但中文名会报UnicodeDecodeErro的错误
i = 1;# 作用于Excel表格第几行数与接口第几页
#写一个死循环让他一直爬取数据
while (True):
 import json# 这里这么引入json是因为不这么引入当循环到第二次就会报没有引入json的错,所以循环引入了
 #接口str(i)表示第几页一定要转为字符串格式,要不会报不是字符串的错
 url = "https://www.amap.com/service/poiInfo?query_type=TQUERY&pagesize=20&pagenum="+str(i)+"&qii=true&cluster_state=5&need_utd=true&utd_sceneid=1000&div=PC1000&addr_poi_merge=true&is_classify=true&zoom=14.81&city=110000&geoobj=115.7|39.4|117.4|41.6&keywords=水果店" 
 # 将cookies字符串组装为字典 
 cookies_str = "guid=f86f-79f2-5b0b-69a3; UM_distinctid=16386a114ca143-07312d6ae4d5af8-47534130-1fa400-16386a114ccb85; CNZZDATA1255626299=1778515027-1526967763-https%253A%252F%252Fwww.baidu.com%252F%7C1527219534; cna=5hWHEx7lRkECAXL4l+2LMAfU; isg=BGBg3rAqL6QOz5OkNN5wbxWiMm7ywUxc_zvQMtpxLHsO1QD_gnkUwzbHaf3V_vwL; _uab_collina=152697209566826431413694; key=bfe31f4e0fb231d29e1d3ce951e2c780" 
 cookies_dict = {} 
 for cookie in cookies_str.split(";"): 
  k, v = cookie.split("=", 1) 
  cookies_dict[k.strip()] = v.strip() 
 pass
 # 其他请求头参数 
 headers = { 
  'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0' 
 }
 
 # 让服务器认为你是通过浏览器访问页面 
 page = requests.get(url=url,cookies=cookies_dict,headers=headers);
 # 转json
 json = json.loads(page.text);
 # 判断这个字段如果为未找到相关信息则跳出死循环
 if json['data']['lqii']['change_query_tip'] == '未找到"水果店"相关结果':
 break;
 pass
 # 获取json长度用于添加Excel第几行
 length = len(json['data']['poi_list']);
 # 循环json数据向Excel表格添加
 for index,j in enumerate(json['data']['poi_list']):
 worksheet.write(index+(i-1)*length,0,j['disp_name'])
 worksheet.write(index+(i-1)*length,1,j['tel'])
 worksheet.write(index+(i-1)*length,2,j['address'])
 pass
 i+=1
pass
workbook.close()#最后关闭Excel表格 注意事项,当Excel表格正在打开的情况下会报没有关闭的错所以请关闭Excel再运行此程序

以上这篇python requests爬取高德地图数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 获取et和excel的版本号
Apr 09 Python
浅析Python中将单词首字母大写的capitalize()方法
May 18 Python
使用Python编写简单的画图板程序的示例教程
Dec 08 Python
Python线程指南详细介绍
Jan 05 Python
Windows平台Python连接sqlite3数据库的方法分析
Jul 12 Python
Python中实现switch功能实例解析
Jan 11 Python
python实现人人自动回复、抢沙发功能
Jun 08 Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
May 27 Python
利用pyshp包给shapefile文件添加字段的实例
Dec 06 Python
jupyternotebook 撤销删除的操作方式
Apr 17 Python
利用python控制Autocad:pyautocad方式
Jun 01 Python
Python with语句用法原理详解
Jul 03 Python
Python爬取商家联系电话以及各种数据的方法
Nov 10 #Python
Python中的取模运算方法
Nov 10 #Python
在Python中获取两数相除的商和余数方法
Nov 10 #Python
Python解决两个整数相除只得到整数部分的实例
Nov 10 #Python
从DataFrame中提取出Series或DataFrame对象的方法
Nov 10 #Python
pandas 数据归一化以及行删除例程的方法
Nov 10 #Python
python 重命名轴索引的方法
Nov 10 #Python
You might like
php后台如何避免用户直接进入方法实例
2013/10/15 PHP
分享27个jQuery 表单插件集合推荐
2011/04/25 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
2013/01/11 Javascript
HTTP 304错误的详细讲解
2013/11/13 Javascript
jQuery中eq()方法用法实例
2015/01/05 Javascript
jQuery知识点整理
2015/01/30 Javascript
Javascript中arguments和arguments.callee的区别浅析
2015/04/24 Javascript
jQuery实现自动滚动到页面顶端的方法
2015/05/22 Javascript
JavaScript中几种排序算法的简单实现
2015/07/29 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
详解JS面向对象编程
2016/01/24 Javascript
jquery if条件语句的写法
2016/05/19 Javascript
浅析Jquery操作select
2016/12/13 Javascript
react实现pure render时bind(this)隐患需注意!
2017/03/09 Javascript
jQuery表单验证之密码确认
2017/05/22 jQuery
解决vue-cli + webpack 新建项目出错的问题
2018/03/20 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
在vscode 中设置 vue模板内容的方法
2020/09/02 Javascript
[50:48]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python 列表(List)操作方法详解
2014/03/11 Python
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
Python实现将数据写入netCDF4中的方法示例
2018/08/30 Python
python中eval与int的区别浅析
2019/08/11 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
python解析命令行参数的三种方法详解
2019/11/29 Python
Python的轻量级ORM框架peewee使用教程
2021/02/05 Python
viagogo英国票务平台:演唱会、体育比赛、戏剧门票
2017/03/24 全球购物
新西兰便宜隐形眼镜购买网站:QUICKLENS New Zealand
2019/03/02 全球购物
2015年元旦主持词结束语
2014/12/14 职场文书
教师节倡议书2015
2015/04/27 职场文书
餐馆开业致辞
2015/08/01 职场文书
python tkinter模块的简单使用
2021/04/07 Python
解读MySQL的客户端和服务端协议
2021/05/10 MySQL
java调用Restful接口的三种方法
2021/08/23 Java/Android
Hive日期格式转换方法总结
2022/06/25 数据库