# -*- encoding: utf-8 -*-
# coding:utf-8
import xlrd
from xlwt import Workbook
from tempfile import TemporaryFile
import urllib.request
import xml.dom.minidom as minidom
import xlwt
#结果目录
inforst = '/home/yuhz/PycharmProjects/untitled2/POI/'
data = xlrd.open_workbook('/home/yuhz/PycharmProjects/untitled2/POI/city1.xls')
sheet=data.sheets()[0]
file_name = 'result.txt' # write result to this file
#keyword = '汽车修理' urllib.parse.quote(keyword)
url_amap = 'http://restapi.amap.com/v3/place/text?&keywords=&types=010800&city=370602&citylimit=true&&output=xml&offset=20&page=1&key=&extensions=base'
#facility_type = r'types=170300' # factory facilities
#region = r'city=120113' # beichen of tianjin
each_page_rec = 20 # results that displays in one page
which_pach = r'page=1' # display which page
xml_file = 'tmp.xml' # xml filen name
#写入Excel(定义Excel表头)
book = Workbook()
#sheet1 = book.add_sheet('Sheet 0')
#自动换行
style = xlwt.easyxf('align: wrap on')
# get html by url and save the data to xml file
def getHtml(url):
page = urllib.request.urlopen(url)
html = page.read()
try:
# open xml file and save data to it
with open(xml_file, 'wb') as xml_file_handle:
xml_file_handle.write(html)
except IOError as err:
print("IO error: " + str(err))
return -1
return 0
# phrase data from xml
def parseXML(index):
total_rec = 1 # record number
# open xml file and get data record
try:
with open(file_name, 'a') as file_handle:
dom = minidom.parse(xml_file)
root = dom.getElementsByTagName("response") # The function getElementsByTagName returns NodeList.
for node in root:
total_rec = node.getElementsByTagName("count")[0].childNodes[0].nodeValue
pois = node.getElementsByTagName("pois")
for poi in pois[0].getElementsByTagName('poi'):
name = poi.getElementsByTagName("name")[0].childNodes[0].nodeValue
try:
address = poi.getElementsByTagName("address")[0].childNodes[0].nodeValue
except IndexError:
address = ""
try:
tel = poi.getElementsByTagName("tel")[0].childNodes[0].nodeValue
except IndexError:
tel = ""
try:
pname = poi.getElementsByTagName("pname")[0].childNodes[0].nodeValue
except IndexError:
pname = ""
try:
cityname = poi.getElementsByTagName("cityname")[0].childNodes[0].nodeValue
Python获取高德地图POI
最新推荐文章于 2024-08-15 16:50:57 发布
这篇博客介绍了如何使用Python高效地获取和处理高德地图的POI(Point of Interest)数据,包括跨sheet页的数据获取及按原始顺序写入的实现。
摘要由CSDN通过智能技术生成