Python获取高德地图POI

# -*- 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
                    
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值