Использование Beautiful Soup для загрузки CSV по интерактивной ссылке - PullRequest
0 голосов
/ 29 июня 2019

Я хочу скачать CSV-файл, который находится под кнопкой «Экспорт» на этой странице: https://data.cityofnewyork.us/Public-Safety/NYPD-Motor-Vehicle-Collisions/h9gi-nx95

Я попытался использовать Beautiful Soup после проверки исходного кода для сегмента, содержащего кнопку «Экспорт». Однако приведенный ниже код возвращает пустой список.

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 голосов
/ 30 июня 2019

BeautifulSoup не может «кликнуть» по ссылке на веб-странице. Чтобы узнать, какие запросы выполняет браузер, нажмите на эту ссылку (например, в инструментах разработчика Firefox). Эта страница использует эту ссылку для загрузки CSV (предупреждение, огромный файл!):

import requests

url = 'https://data.cityofnewyork.us/api/views/h9gi-nx95/rows.csv?accessType=DOWNLOAD'
print(requests.get(url).text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...