我想下载一个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有任何想法? 谢谢。
答案 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)