写一个爬虫来获取地铁信息数据

本文介绍了如何使用Python的面向对象编程方法编写一个爬虫,以获取大陆及港澳地区的地铁线路、站点等数据。文章详细阐述了代码结构,包括初始化方法、获取数据、解析地铁和城市信息的函数,并提及了运行所需的环境和库。
摘要由CSDN通过智能技术生成

用面向对象的方法来获取地铁信息数据

写在前面

最近在知乎上看到一篇关于地铁数据的分析,该篇文章很全面的分析了大陆(包括澳门香港)有地铁城市的分布、线路、站点等信息,很有阅读价值。本篇文章是对该文中获取信息部分的一个更进,使用面向对象的方法实现其部分功能。

具体代码如下

用python的面向对象方式实现目标,代码已做注释,可供参考使用。本人技术有限,如有错误请指出。

import requests
from bs4 import BeautifulSoup
import json
"""
目标:爬取中国大陆地铁线路信息
要求:
	①获取相关城市的地铁数量
	②获取每个地铁站的名称
	③写入文档

"""

class Subway(object):
    def __init__(self):
        # 构造url
        self.url = "http://map.amap.com/subway/index.html?&1100"
        # 使用老版本请求头
        self.headers = {
   
            'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
        }
    # 获取数据
    def get_data(self):
        responses = requests.get(url=self.url, headers=self.headers)
        # 返回str字符串类型
        return responses.text
    # 解析每个城市地铁信息(地铁数量,站点)
    def parse_get_subway(self, ID, city, name):
        # 拼接地铁信息的url
        url = 'http://map.amap.com/service/subway?_1555502190153&srhdata=' + ID + 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值