爬虫——百度POI爬取(python3)

爬虫——百度POI爬取(python3)

学习过程:
爬虫:
本人对python的了解只在hello word水平,能写出这个爬虫主要感谢大佬@陈修一基于python的百度迁徙1——迁入、迁出数据(附代码)
url:
查看百度地图开放平台Web服务API服务文档
https://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-placeapi
POI分类:
http://lbsyun.baidu.com/index.php?title=lbscloud/poitags
没有什么python爬虫基础,代码可能不够完善,希望有大佬可以多多交流指正。
输出结果:
在这里插入图片描述
完整代码:
使用前请先申请AK,并修改参数,申请方法自行百度。

import importlib, sys
import xlwt
import time
import json

import requests
importlib.reload(sys)
user_agent = 'Mozilla/5.0 (Windows NT 6.1 WOW:64)'
headers = {'User_Agent': user_agent}

##########百度API限制每次访问数据不得超过400,不会写分片且目标区域不大所以按照POI不同类别获取###############
def get_POIdata(query, region):
    workbook = xlwt.Workbook(encoding = 'utf-8')    # 创建一个workbook 设置编码
    worksheet = workbook.add_sheet('Sheet', cell_overwrite_ok=True)    # 创建一个worksheet
	#写入列名
    worksheet.write(0 , 0 , label='名称')
    worksheet.write(0 , 1 , label='纬度')
    worksheet.write(0 , 2 , label='经度')
    worksheet.write(0 , 3 , label='省')
    worksheet.write(0 , 4 , label='市')
    worksheet.write(0 , 5 , label='区')
    worksheet.write(0 , 6 , label='地址')
    worksheet.write(0 , 7 , label='标签')
    worksheet.write(0 , 8 , label='备注')

    counter = 1
    i = 1

    for i in range(0, 40):

        url = f'http://api.map.baidu.com/place/v2/search?query={query}&page_size=10&page_num='
        #############这里必须写ak参数,获取方法自行百度################
        url = url+str(i*1)+f'&region={region}&output=json&ak=您的AK'
        response=requests.get(url, timeout=10)
        time.sleep(5)

        data_dict=json.loads(response.text)
        if(data_dict["total"] != 0):
            print(f'第{i}页完成')
            data_results=data_dict['results']
            time.sleep(1)
            for j in range(len(data_results)):
                text_info = data_results[j]

                worksheet.write(counter, 0, label=text_info['name'])
                worksheet.write(counter, 1, label=text_info['location']['lat'])
                worksheet.write(counter, 2, label=text_info['location']['lng'])
                worksheet.write(counter, 3, label=text_info['province'])
                worksheet.write(counter, 4, label=text_info['city'])
                worksheet.write(counter, 5, label=text_info['area'])
                worksheet.write(counter, 6, label=text_info['address'])
                worksheet.write(counter, 7, label=text_info['detail_info']['tag'])
                worksheet.write(counter, 8, label=text_info['detail_info']['children'])
                counter += 1
    workbook.save(f"{region}_{query}.xls")
    print(f'{region}_{query}全部完成')

if __name__=="__main__":
    # get_POIdata("购物", "武汉")
    # time.sleep(10)
    get_POIdata("文化传媒", "武汉")
    time.sleep(10)
    # get_POIdata("医疗", "武汉")
    # time.sleep(10)
    print('全部完成')
  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Google POI爬取指的是使用网络爬虫程序对Google上的POI(点 of interest)进行自动化爬取的过程。POI是指地图上的一些地标、商家、景点、公共设施等,通常包括名称、地址、电话、经度、纬度等信息。这些信息对于地图应用、智能导航等方面非常重要,因此许多公司都会尝试通过爬取POI信息来进行商业化开发。 Google是目前全球最大的的互联网公司之一,其网站上包含了大量的POI信息。但是,Google的数据采集和存储都有一定的限制,因此对Google POI进行爬取时要注意相关的法律法规,不得侵犯用户隐私或导致其他安全问题。此外,Google对于频繁访问其网站数据也有一定的反爬机制,需要注意规避封禁或限制。 Google POI爬取的难点主要在于数据量庞大、结构不统一、数据质量不一等方面。因此,需要使用一定的技术手段,如机器学习、自然语言处理、数据清洗等,来优化数据提取和处理的方式。 总的来说,Google POI爬取可以帮助我们获得大量的有用信息,为地图服务和其他商业化应用提供支持。但是,在进行爬取时要注意合法合规,充分保护用户隐私和安全。 ### 回答2: 谷歌POI爬取是指通过专业的软件工具和技术手段从谷歌地图上爬取特定位置的信息。POI代表着“点 of interest”的缩写,它是指在地图上标记的有意义的地点信息。例如,商店、餐馆、公园、学校、医院等等。通过谷歌POI爬取技术,我们可以获取到很多有用的信息,包括位置、名称、地址、电话、评级等等。 在实际应用中,谷歌POI爬取主要应用于商业和科研领域。商业上,谷歌POI爬取可以帮助企业进行市场调研、商业分析、推销营销等业务。科研方面,谷歌POI爬取可以帮助研究人员分析城市的人口、流动、交通等行为特征,以及了解城市发展趋势、研究城市规划等。 谷歌POI爬取技术的具体步骤包括:选择目标区域、确定爬取内容、开发程序进行爬取、整理和分析数据。爬取程序可以通过谷歌地图API和网络爬虫等技术实现。同时,需要注意的是,在使用谷歌POI爬取技术时应遵守相关法律法规,避免侵犯他人的隐私或其他权益。 ### 回答3: 谷歌POI爬取是指通过网络爬虫对谷歌地图上的兴趣点(POI)进行数据采集的过程。在现代数字化时代,随着电子地图的普及和谷歌地图等应用的发展,有越来越多的企业和个人需要从谷歌地图中获取特定的POI数据,如商家信息、地址、联系方式等。通过谷歌POI爬取的方法,可以实现快速、准确、自动化地采集海量的POI数据,显著提高数据获取效率和数据的准确性。 谷歌POI爬取的过程需要借助网络爬虫技术,利用代码自动化爬取谷歌地图上的POI数据。爬取程序会访问特定的URL,通过检索关键词等方式获取POI数据,并进行数据清洗和格式转换,输出最终的数据结果。谷歌POI爬取的实现过程中要考虑到反爬虫策略和数据保密的问题,需要遵守相关的法律法规和道德规范,避免侵犯他人隐私和商业利益,避免被谷歌地图封禁或追究法律责任。 总之,谷歌POI爬取是针对谷歌地图上POI数据采集的一种有效方法,能够帮助企业和个人快捷地获取所需的POI数据,具有极高的实用性和经济效益。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值