Python如何爬取北京市所有电子眼名
发表于:2025-12-14 作者:千家信息网编辑
千家信息网最后更新 2025年12月14日,Python如何爬取北京市所有电子眼名,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言今天给大家分享一篇非常实用的文章,用foli
千家信息网最后更新 2025年12月14日Python如何爬取北京市所有电子眼名
Python如何爬取北京市所有电子眼名,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
前言
今天给大家分享一篇非常实用的文章,用folium制作北京市交通电子眼分布地图,再也不怕被隐藏摄像头偷拍了
成果图如下:
此网站可以获取全国各地区的电子眼数据
我们以北京市为例,用python爬取北京市所有电子眼名称,代码如下:
url1='https://www.icauto.com.cn/weizhang/wzd/110000/list_1.html'response=requests.get(url1,headers=header)soup=BeautifulSoup(response.text,'html.parser')results=soup.find('div',class_='cdz-ccotent').find_all('li')for result in results: time.sleep(0.5) name=result.find('a').text index=result.find('span').text.split(':')[1]经过抓包分析,可以得到根据电子眼名称获取经纬度信息的接口:
https://api.map.baidu.com/?qt=gc&wd=北京西路中坝隧道路段&cn=北京&ie=utf-8&oue=1&fromproduct=jsapi&res=api&ak=s8sS5dBsZ7bLRi3bcVRAaYMAnqlXoyeo
返回结果为:
大家主要看coord参数,刚一看确实有点懵逼,不知道这是啥玩意,我查了半天,才知道这种是百度地图采用的墨卡托平面坐标,利用百度地图api可以转化成经纬度,转化代码如下:
url3='http://api.map.baidu.com/geoconv/v1/?coords={}&from=6&to=5&ak=换成你的ak'.format(str(coord['x'])+','+str(coord['y']))response=requests.get(url3,headers=header)result=json.loads(response.text)['result'][0]lon=result['x']lat=result['y']最后将结果保存到csv表格中:
with open('dianziyan.csv', 'a+', newline='', encoding='gb18030') as f: f_csv = csv.writer(f) f_csv.writerow([name, index, lon,lat])2.用folium标点
folium地图标点的方法之前已经有介绍了,可以参考:
python生成广州全市停车场分布地图
代码如下:
import pandas as pddata=pd.read_csv('dianziyan.csv',encoding='gbk')import foliumfrom folium import pluginsCamera_map = folium.Map(location=[data['纬度'].mean(), data['经度'].mean()], zoom_start=10,control_scale=True,)incidents = folium.map.FeatureGroup()for name,row in data.iterrows(): incidents.add_child( folium.CircleMarker( #CircleMarker表示花圆 [row["纬度"], row["经度"]], #每个停车场的坐标 radius=7, #圆圈半径 color='yellow', #标志的外圈颜色 fill=True, #是否填充 fill_color='red', #填充颜色 fill_opacity=0.4, #填充透明度 ) )Camera_map.add_child(incidents)Camera_map.save('Camera_map1.html')经过放大后可以发现,坐标定位不是很准,有的严重偏离路线,有的甚至定位到湖里了,这是因为底图坐标和电子眼经纬度标准不统一
为了定位更准确,我们把底图和电子眼经纬度统一规范为高德地图
百度经纬度转换成高德经纬度的函数如下:
import mathdef bdToGaoDe(lat,lon): """ 百度经纬度转高德经纬度 :param lon: :param lat: :return: """ PI = 3.14159265358979324 * 3000.0 / 180.0 x = lon - 0.0065 y = lat - 0.006 z = math.sqrt(x * x + y * y) - 0.00002 * math.sin(y * PI) theta = math.atan2(y, x) - 0.000003 * math.cos(x * PI) lon = z * math.cos(theta) lat = z * math.sin(theta) return lat,lon
读取数据,进行转换:
import pandas as pddata=pd.read_csv('dianziyan.csv',encoding='gbk')for name,row in data.iterrows(): print(bdToGaoDe(row["纬度"],row["经度"]))将底图换成高德地图,然后将标点转换成电子眼图标:
import foliumfrom folium import pluginsCamera_map = folium.Map(location=[data['纬度'].mean(), data['经度'].mean()], zoom_start=10,zoom_control='False', tiles='http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}',attr='AutoNavi')incidents = folium.map.FeatureGroup()tooltip ='请点击我查看该点信息'for name,row in data.iterrows(): incidents.add_child( folium.Marker( #CircleMarker表示花圆 [bdToGaoDe(row["纬度"],row["经度"])[0],bdToGaoDe(row["纬度"],row["经度"])[1]], #每个停车场的坐标 icon=folium.Icon(color='green', prefix='fa', icon='bullseye') ) )Camera_map.add_child(incidents)Camera_map.save('Camera_map2.html')通过tiles可以设置不同的地图瓦片在,这里设置为高德地图瓦片
Folium.Icon类可以设置color, icon_color, icon, angle, prefix这5个参数:
color的可选项包括:['red', 'blue', 'green', 'purple', 'orange', 'darkred', 'lightred', 'beige', 'darkblue', 'darkgreen', 'cadetblue', 'darkpurple', 'white', 'pink', 'lightblue', 'lightgreen', 'gray', 'black', 'lightgray'] ,或者HTML颜色代码icon_color同上icon可以在Font-Awesome网站中找到对应的名字,并设置prefix参数为'fa'angle以度为单位设置
只显示了北京地区的电子眼位置,感兴趣的朋友可以深入研究一下,做一张全国的交通电子眼分布图。
关于Python如何爬取北京市所有电子眼名问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
电子
电子眼
地图
经纬
经纬度
北京
纬度
经度
坐标
高德
北京市
代码
停车场
参数
标点
问题
颜色
定位
交通
信息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
想成为软件开发工程师的理由
网络安全等级保护基本要求四级
网络安全必看的书籍推荐
网络安全手抄报初中生4k
网络安全的基本模型结构
网络技术布线方法
不使用流媒体服务器
吉林pdu服务器专用电源咨询
卸载数据库对vs有影响吗
软件开发需要的基本能力
都江堰开展网络安全宣传周活动
泉州网络安全应急中心
数据库归档能看不
执勤信息可视化管理平台服务器
苏州 软件开发个体户
数据库是用什么储存数据的
三一搅拌机更新数据库
网络安全答题对孩子有影响吗
华为无线的软件开发是做什么的
凯轻云服务器
灵感互联网科技
飚客网络技术
海阳ios软件开发公司有哪些
有人在天狮集团软件开发嘛
国际认证网络安全工程师
服务器验证功能安全链接
桥梁病害及数据库
肖战网络安全代言
河北省的软件开发
地税系统 网络安全法