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

 更新时间:2018年11月10日 15:23:51   作者:weixin_40365953  
今天小编就为大家分享一篇python requests爬取高德地图数据的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下所示:

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多线程下载文件的方法

    这篇文章主要介绍了Python多线程下载文件的方法,涉及Python多线程及文件操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Windows上使用Python增加或删除权限的方法

    Windows上使用Python增加或删除权限的方法

    下面小编就为大家分享一篇Windows上使用Python增加或删除权限的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python 的可变和不可变对象详情

    Python 的可变和不可变对象详情

    本文通过详情描述Python 中的可变对象与不可变对象来看两者的区别,刚兴趣的朋友可以参考下文
    2021-08-08
  • Django项目uwsgi+Nginx保姆级部署教程实现

    Django项目uwsgi+Nginx保姆级部署教程实现

    这篇文章主要介绍了Django项目uwsgi+Nginx保姆级部署教程实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • python编写计算器功能

    python编写计算器功能

    这篇文章主要为大家详细介绍了python编写计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • python下如何查询CS反恐精英的服务器信息

    python下如何查询CS反恐精英的服务器信息

    这篇文章主要介绍了python下如何查询CS反恐精英服务器信息的方法,分别分享了反恐精英1.5版本和反恐精英1.6版本的实现方法示例,有需要的朋友们可以参考借鉴,下面来一起学习学习吧。
    2017-01-01
  • Python高阶函数与函数式编程概念及使用实例探究

    Python高阶函数与函数式编程概念及使用实例探究

    这篇文章主要为大家介绍了Python高阶函数与函数式编程概念及使用实例探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • python基于json文件实现的gearman任务自动重启代码实例

    python基于json文件实现的gearman任务自动重启代码实例

    这篇文章主要介绍了python基于json文件实现的gearman任务自动重启代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 使用Python随机生成数据的方法

    使用Python随机生成数据的方法

    这篇文章主要介绍了使用Python随机生成数据的方法,在日常开发中竟然会遇到需要测试大量数据的地方,那么随机生成数据就可以有效的加快我们的效率,通过Python_Faker生成测试数据需要安装Faker包,需要的朋友可以参考下
    2023-10-10
  • Python操作json数据的一个简单例子

    Python操作json数据的一个简单例子

    这篇文章主要介绍了Python操作json数据的一个简单例子,需要的朋友可以参考下
    2014-04-04

最新评论