Python爬虫下载加州高速路网PeMS交通流量数据集以及交通公开数据集分享 2026 年更新新版 PeMS 数据下载工具已开源虽然本人已经工作多年但是还是不断有同学来询问数据集并且发现之前的下载脚本下载已经不可用了因此最近重新进行下载工具的整理与开源也欢迎有条件的同学一起来维护这个gihub项目:pems-data-downloader如果有问题或者需要进一步交流的地方也可以添加我用户名数字就是本人Q号原文中的脚本完成于 2019 年主要用于下载单个 VDS 的 5 分钟数据。随着 PeMS 页面、认证方式和科研数据需求变化原脚本中的硬编码账号密码、Windows 路径、手工时差换算和 XLS 合并方式已不再推荐。新版主要支持PeMS Station 5-Minute 官方数据PeMS Station Hour 官方小时数据查询 PeMS 当前实际发布的最新日期下载前搜索 Station ID按 District、经纬度、道路、方向、车道类型和 County 筛选自动生成标准化观测表、站点表、GeoJSON 和近似路网边可选下载 Caltrans 官方道路几何并生成交互地图Windows、macOS 和 Linux下载进度、环境诊断、断点恢复和数据 manifest。快速开始gitclone https://github.com/wcc961129/pems-data-downloader.gitcdpems-data-downloader uvsync--lockeduv run playwrightinstallchromium uv run pems-data auth uv run pems-data doctor uv run pems-data latest--district7此外如果需要其他城市的公开交通数据以及矩阵/张量插补和预测模型可以参考transdim另附本人之前论文的开源代码GE-GAN论文GE-GAN: A novel deep learning framework for road traffic state estimation由于PeMSPeMS下载交通数据集一次只能下载一周数据并且要一次一次的点击比较麻烦。故写出了一个小的爬虫程序自动下载PeMS路网上VDS的数据集前提需要FQ需要挂全局代理下载为5分钟时间间隔的流量数据为了防止IP被封每下载一周 Sleep 15秒也可自己更改具体使用只需要更改文件保存地址save_path需要下载的VDS列表vds_list下载数据的开始与结束时间: start_time, end_time以及down_load_data函数中data中登陆PeMS系统的账号与密码PEMS官网自动下载数据集代码需FQ#!/usr/bin/env python# -*- coding: utf-8 -*-# Time : 2019/11/14 21:23# Author : Chenchen Wei# Description: 下载PeMS流量数据一次下载一周数据并将下载的周数据进行合并importtimeimportosimportnumpyasnpimportpandasaspdimportrequestsdeftime_2_timestamp(input,lagsTrue):默认True: 时间转化为时间戳, 包含时差计算iflags:timeArraytime.strptime(input,%Y-%m-%d %H:%M)# 转换成时间戳returnint(time.mktime(timeArray)8*60*60)# 时差计算else:time_localtime.localtime(input-8*60*60)returntime.strftime(%Y-%m-%d %H:%M,time_local)defdownload(save_path,vds,start_time,end_time):时间转化为时间戳start_stamp,end_stamptime_2_timestamp(start_time),time_2_timestamp(end_time)i1forbegininrange(start_stamp,end_stamp,60*60*24*7):urlget_url(vds,begin)down_load_data(save_path,url,i)i1print(Sleeping...)time.sleep(15)# 下载完成休息五秒defdown_load_data(save_path,url,i):headers{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36}data{redirect:,username:账号,password:密码,login:Login}sessionrequests.session()responsesession.post(url,headersheaders,datadata)responsesession.get(url)withopen(save_path\\str(i).xlsx,wb)asf:f.write(response.content)print(下载成功)defget_url(vds,begin):str_begintime_2_timestamp(begin,False)s_beginstr_begin[5:7]%2Fstr_begin[8:10]%2Fstr_begin[:4]00%3A00,endbegin60*60*24*7-60str_endtime_2_timestamp(end,False)s_endstr_end[5:7]%2Fstr_end[8:10]%2Fstr_end[:4]23%3A59,urlhttp://pems.dot.ca.gov/?report_form1dnodeVDScontentloopsexportxlsstation_id\str(vds)s_time_idstr(begin)s_time_id_fstr(s_begin)e_time_idstr(end)e_time_id_fstr(s_end)todalltod_from0tod_to0dow_0ondow_1ondow_2ondow_3ondow_4ondow_5ondow_6\onholidaysonqflowq2gn5minaggonlane1onlane2onlane3onlane4on# print(url)print(获取url: vds[%s] %s --- %s%(str(vds),str_begin,str_end))returnurldefcombine_download_data(vds,path):numlen(os.listdir(path))dfspd.read_excel(path\\1.xlsx,index_colNone).valuesforiinrange(2,num1):dfpd.read_excel(path\\str(i).xlsx,index_colNone).values dfsnp.row_stack((dfs,df))pd.DataFrame(dfs).to_csv(path\\str(vds)_combine.csv,indexNone,headerNone)print(合并文件保存成功)if__name____main__:save_pathrG:\文档\交通数据集\加州数据集\自动下载数据# 文件保存路径vds_list[602467,602468]# 需要下载的VDS列表start_time,end_time2019-01-01 00:00,2019-01-14 23:59# 数据下载开始于结束时间每次下载一周无数据则下载为空文件forvdsinvds_list:namestart_time[2:10]_end_time[2:10]save_pathssave_path\\name\\str(vds)# 创建文件保存路径ifnotos.path.exists(save_paths):os.makedirs(save_paths)print(开始下载%s %s---%s%(str(vds),start_time,end_time))download(save_paths,vds,start_time,end_time)# 下载文件combine_download_data(vds,save_paths)# 将单个VDS下载文件进行合并2020年6月16日 更新部分路网数据集由于许多同学联系私信寻求数据集因此在此将本人做研究下载的部分数据集分享出来希望对大家有帮助提取密码lwil另提供一个自己Fork的Github,里面有部分交通数据集可自行下载。由于Github中西雅图数据也存储在谷歌网盘里面需要FQ因此在百度网盘中有原始数据集以及按照工作日与休息日划分后的西雅图数据集。此外截止目前评论区留邮箱的同学本人已将数据链接及数据作为附件发送至邮箱注意查收。2020年7月18日 更新论文以及部分数据集由于之前百度云失效抽空更新了下最新的百度云链接提取码g8ce另附上本人最新发表的一篇论文GE-GAN: A novel deep learning framework for road traffic state estimationTRC希望对大家有帮助欢迎引用。还有本人了解的其他论文中公开的交通数据集及代码此部分数据集均可直接下载Diffusion Convolutional Recurrent Neural Network: Data-Driven Traffic Forecasting(DCRNN)该数据集包含Los Angeles (METR-LA) 207个检测器2012年四个月的数据the Bay Area (PEMS-BAY)325个检测器2017年6个月的数据另一个公布数据集与代码的文章为Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting (ASTGCN)该数据集包含同样已将数据集发送至所有留邮箱的同学。如未收到可自行下载。点波关注不迷路后续如发现新的交通数据集会不定期更新。。。2020年11月02日 更新data中22个检测器的数据补充说明很多同学私信询问pems 22条路段的空间关系在此说明一下22个检测器是一条道路上的检测器检测器顺序为文件第一行的检测器编号即1与2相连2与13相连3与24相连。。。。具体空间关系可以进PEMS官网搜VDS会显示具体的经纬度以及检测器之间的空间关系。关于代码写的太乱就不好意思放出来了。。。后续有时间整理在更新吧。另外博客中提到的所有数据集都已经在上面的百度网盘还有github上面分享出来了大家可以按照需要自行下载的哈。2020年11月13日 更新代码公开今天抽空重新整理了下代码目前代码与数据集已公开详见Github: GE-GAN: A novel deep learning framework for road traffic state estimationTRC同样已将代码发送至要代码并留邮箱的同学。如未收到可自行下载。2020年11月26日 更新PEMS四部分数据集更新高速路网数据集出处Spatial-Temporal Synchronous Graph Convolutional Networks: A New Framework for Spatial-Temporal Network Data Forecasting(STSGCN)百度网盘下载地址提取码p40o