公交站点信息爬虫

本文介绍了如何使用Python爬虫从百度地图获取整个XX市公交站点的经纬度信息,包括任务介绍、所需工具、百度API的申请过程以及爬虫代码实现。通过矩形框搜索策略,将数据存储到TXT文件或MySQL数据库,但由于限制,可能存在数据重复和不完整的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务介绍

  无论是工作的需要,还是业余时间想对网上数据进行分析,爬虫都是我们必须过的一个基本关。本次任务就是在工作需要的基础上,需要我们对整个XX市的公交站点进行爬取,获取其经纬度信息,便于后续数据的OD分析。按理说这个数据应该是公交公司有的,但是历史数据信息涵盖量不全,便寄希望于百度地图能给我们提供更多的一点信息吧。话不多说,开始今天的简易爬虫教程。

工具准备

  本次爬虫需要用到的工具:

  • 软件:pycharm,anaconda3(python3.6),百度密钥,mysql数据库。
  • python库:requests,requests,json,pymysql,time

  百度api申请步骤:
1. 打开网页,输入百度地图开放平台,点击进入
这里写图片描述
2. 注册百度账号,并且滑动到页面最下方,点击申请密钥
这里写图片描述
3. 点击创建应用,应用类型选择浏览器端,其余信息可以随便填写,白名单填写*(英文半角)
这里写图片描述
4. 以上步骤变申请成功,查看应用,就有你所创建的应用ak了

开始动手

  1. 登录百度地图开放平台,选择开发文档中的web服务api
    这里写图片描述
  2. api左侧为功能区,点击不同的功能区,右侧有详细解释,具体的接口使用方法在右侧的服务文档中,输入参数和输出参数都有详细解释。
    这里写图片描述
  3. 通过api接口,我们已经可以得到返回的json数据格式的公交站点信息,想要在程序中得到数据,并解析到公交站点,我们需要引入前面准备的3个python的库
    requests:利用url获取返回到的json数据
    json:解析json数据
    pymysql:用于存储到mysql数据库中(也可以不用,直接存到txt文档中)
import requests
import json
import pymysql
import time
  1. 本次爬虫采用矩形框搜索,需要定义矩形框的左下角坐标和右上角坐标,由于区域较大,可以将其分割成为多个区域.
    left_bottom = [106.283337,29.263947];  # 设置区域左下角坐标(百度坐标系)
    right_top = [106.753618,29.760811]; # 设置区域右上角坐标(百度坐标系)
    part_n = 10;  # 设置区域网格(10*10)
  1. url设置(前面api中可以得到url)、这里设置搜索关键字,ak采用前面申请的浏览器ak
    url0 = 'http://api.map.baidu.com/place/v2/search?';
    x_item = (right_top[0]-left_bottom[0])/part_n;
    y_item = (right_top[1]-left_bottom[1])/part_n;
    query = '公交站'; #搜索关键词设置
    ak = '***********************'; #百度地图api信令
  1. 设置url的不同字段,利用requests.get&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值