如何用Python从GitHub获取指定CSV文件?遇解析错误求助
解决GitHub CSV文件读取失败的问题
问题根源
你使用的是GitHub的网页展示链接,而非CSV文件的原始资源链接。直接用该链接调用pd.read_csv()时,程序读取的是网页的HTML代码,不是纯CSV格式的数据,因此触发解析错误。
可行解决方案
直接使用原始文件链接
将GitHub链接中的blob替换为raw,就能获取到CSV文件的直接下载地址,再用pandas读取即可:import pandas as pd raw_link = 'https://github.com/hiring-lab/job_postings_tracker/raw/master/US/aggregate_job_postings_US.csv' dados = pd.read_csv(raw_link, sep=',', index_col='date') print(dados.head())通过requests下载后解析
先借助requests获取文件内容,再用StringIO包装后交给pandas解析:import requests import pandas as pd from io import StringIO url = 'https://github.com/hiring-lab/job_postings_tracker/raw/master/US/aggregate_job_postings_US.csv' response = requests.get(url) dados = pd.read_csv(StringIO(response.text), sep=',', index_col='date') print(dados.head())
关于爬虫方法无效的说明
GitHub展示CSV的页面中,表格是通过JavaScript动态生成的,BeautifulSoup只能解析静态HTML内容,因此无法抓取到表格数据,这种方法不适合获取该文件。
内容的提问来源于stack exchange,提问作者Ramiro
相关产品推荐
相关产品推荐

