python requests爬取高德地圖數(shù)據(jù)的實例
更新時間:2018年11月10日 15:23:51 作者:weixin_40365953
今天小編就為大家分享一篇python requests爬取高德地圖數(shù)據(jù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
如下所示:
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表格第幾行數(shù)與接口第幾頁
#寫一個死循環(huán)讓他一直爬取數(shù)據(jù)
while (True):
import json# 這里這么引入json是因為不這么引入當循環(huán)到第二次就會報沒有引入json的錯,所以循環(huán)引入了
#接口str(i)表示第幾頁一定要轉(zhuǎn)為字符串格式,要不會報不是字符串的錯
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
# 其他請求頭參數(shù)
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0'
}
# 讓服務(wù)器認為你是通過瀏覽器訪問頁面
page = requests.get(url=url,cookies=cookies_dict,headers=headers);
# 轉(zhuǎn)json
json = json.loads(page.text);
# 判斷這個字段如果為未找到相關(guān)信息則跳出死循環(huán)
if json['data']['lqii']['change_query_tip'] == '未找到"水果店"相關(guān)結(jié)果':
break;
pass
# 獲取json長度用于添加Excel第幾行
length = len(json['data']['poi_list']);
# 循環(huán)json數(shù)據(jù)向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()#最后關(guān)閉Excel表格 注意事項,當Excel表格正在打開的情況下會報沒有關(guān)閉的錯所以請關(guān)閉Excel再運行此程序
以上這篇python requests爬取高德地圖數(shù)據(jù)的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Python調(diào)用高德地圖API實現(xiàn)JS網(wǎng)頁地圖顯示的完整代碼示例
- 基于高德地圖API在Python中實現(xiàn)地圖功能的方法示例詳解
- 利用Python?requests庫爬取高德地圖全國地鐵站點信息
- python使用百度或高德地圖獲取地理位置并轉(zhuǎn)換
- Python調(diào)用高德API實現(xiàn)批量地址轉(zhuǎn)經(jīng)緯度并寫入表格的功能
- Python 利用高德地圖api實現(xiàn)經(jīng)緯度與地址的批量轉(zhuǎn)換
- Python+PyQt+高德JS?API構(gòu)建桌面三維地形圖應(yīng)用實戰(zhàn)
相關(guān)文章
TensorFlow命名空間和TensorBoard圖節(jié)點實例
今天小編就為大家分享一篇TensorFlow命名空間和TensorBoard圖節(jié)點實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Python實現(xiàn)對word文檔添加密碼去除密碼的示例代碼
這篇文章主要介紹了Python實現(xiàn)對word文檔添加密碼去除密碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
python全棧要學(xué)什么 python全棧學(xué)習(xí)路線
在本文中小編給大家整理了關(guān)于python全棧要學(xué)什么以及python全棧學(xué)習(xí)路線的知識點內(nèi)容,需要的朋友們參考下。2019-06-06

