python 爬虫小案例 8684网站爬取北京公交路线站点信息。

您所在的位置:网站首页 北京公交线路实时查询最新 python 爬虫小案例 8684网站爬取北京公交路线站点信息。

python 爬虫小案例 8684网站爬取北京公交路线站点信息。

2023-07-23 17:47| 来源: 网络整理| 查看: 265

网址:https://beijing.8684.cn/ 通过点击1,2,3等发现网址为https://beijing.8684.cn/list1,2,3。 在这里插入图片描述 点击某一路,如10路,网址为https://beijing.8684.cn/x_8234e473。。采用quote(wd, encoding=“utf-8”)这样,还是不一样,笔者比较菜,应该是编码的问题,有谁知道欢迎留言。 本博客的思路就成了,首先获取1-9开头的公交的所有网址,而后通过解析获取,某路的站点信息,描述信息等。站点的经纬度信息通过百度API获取。

import requests from urllib.parse import quote import re import pandas as pd #x_5085a6b6 import time def get_data(ur): url=r'https://beijing.8684.cn/x_'+ur da=requests.get(url) da.encoding='utf-8' da=da.text return da def extract_info(da): Class = re.findall('(.*)',da) dd=str(stas).split('',str(add)) # print(route[0],ur) url_dic[route[0]]=ur url_dic={} for i in range(5,10): # print(i) get_bus_num_url(i) result= pd.DataFrame(columns = ['站点','经度','纬度']) keys=url_dic.keys() for key in keys: try: da=get_data(url_dic[key]) sts=extract_info(da) for add in sts: # print(address) address='北京市'+add lat,lon=get_lat_lon('北京市'+address) print(address,lat,lon) result=result.append({'站点':add,'经度':lat,'纬度':lon},ignore_index=True) except: pass

效果图 在这里插入图片描述 笔者对爬虫涉猎不多,代码能力也很粗糙,欢迎大佬批评指正。读者可将这些信息保存只表中,有了经纬度信息,就可利用arcgis软件进行数字化展示。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3