Python如何爬取北京市所有电子眼名
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,Python如何爬取北京市所有电子眼名,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言今天给大家分享一篇非常实用的文章,用foli
千家信息网最后更新 2025年12月01日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安全错误
数据库的锁怎样保障安全
网络安全等级保护建设是什么
博尔塔拉租房网络安全
腾讯云数据库创建安全组
我国5G网络技术
类似网络安全的论文
轻量型和普通服务器的区别
位置管理服务器的原理
ipo查询数据库
咸宁潜山国家森林公园数据库
青芷柠源神奇宝贝服务器怎么下载
数据库管理销售
服务器安全狗保护规则
k8s两台服务器搭建
查找期刊论文的数据库
大亨互娱棋牌软件开发
河南服务器工控机箱多少钱
计算机网络技术3年本科
本机装数据库放在固态里
诺克萨斯的服务器在哪
数据库点完安装后就消失
网络安全类专业主要学什么
网络安全的三岁药
乾盟网络技术有限公司怎么样
数据库论文查重怎么修改
网络安全展版
多媒体数据库系统的六大功能
软件开发了以后怎么控制
手游用什么语言和软件开发
IBM服务器默认管理密码
虚拟机服务器共享存储