使用美丽的汤从可点击的链接下载CSV

时间:2019-06-29 20:32:56

标签: python web-scraping beautifulsoup

我想下载一个CSV文件,该文件位于此页面上的“导出”按钮下: https://data.cityofnewyork.us/Public-Safety/NYPD-Motor-Vehicle-Collisions/h9gi-nx95

在检查包含“导出”按钮的段的源代码后,我尝试使用“美丽汤”。但是,下面的代码返回一个空列表。

url='https://data.cityofnewyork.us/Public-Safety/NYPD-Motor-Vehicle
Collisions/h9gi-nx95'
page = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')
domain_csv=soup.find_all('class','download-link')
print(domain_csv)

运行此命令将返回一个空列表,这意味着它无法在汤中找到它。

是否有人对如何抓取需要单击上面提供的链接之类的csv有任何想法? 谢谢。

1 个答案:

答案 0 :(得分:0)

BeautifulSoup无法“单击”网页的链接。您需要通过单击该链接来观察浏览器的要求(例如,在Firefox开发人员工具中)。此页面使用此链接下载CSV(警告,巨大的文件!):

import requests

url = 'https://data.cityofnewyork.us/api/views/h9gi-nx95/rows.csv?accessType=DOWNLOAD'
print(requests.get(url).text)