Я пытаюсь загрузить годовые данные с этого сайта, используя python, но я не знаю, как к этому подойти? - PullRequest
0 голосов
/ 19 апреля 2020

Я хочу узнать, как загружать файлы CSV за последние десять лет, используя python. Я думаю, что это было бы полезно.

https://www.usgovernmentspending.com/compare_state_debt

Мои попытки включают запросы и pandas.

Ответы [ 2 ]

1 голос
/ 19 апреля 2020

Это многокомпонентная проблема, и я собираюсь изложить шаги, которые, я думаю, вы должны использовать.

  • Первая часть будет просто загрузка веб-страницы. Я бы посоветовал использовать что-то вроде запросов , чтобы получить веб-страницу
  • Получив ее, вы можете использовать красивый суп для анализа веб-страницы.
  • Я посмотрел на веб-сайт, и, похоже, есть несколько способов загрузки данных. Я думаю, что лучший способ получить данные - извлечь весь текст из этой конкретной части страницы.
  • Как только вы это сделаете, вам, вероятно, понадобится очистить до данных. Я предлагаю использовать для этого pandas.

Люди здесь не решат всю проблему за вас. Тем не менее, если вы застряли по пути и у вас есть конкретный c вопрос, StackOverflow, вероятно, может помочь в этой точке.

0 голосов
/ 21 апреля 2020

Проблема устранена. Мне удалось решить ее с помощью селена.

Выполнив следующее:

from selenium import webdriver # allow launching browser
# Opening in incognito
driver_option = webdriver.ChromeOptions()
#driver_option.add_argument(" — incognito")
chromedriver_path = '# Write your path here' # Change this to your own chromedriver path!

# Creating a webdriver.
def create_webdriver():
 return webdriver.Chrome(executable_path=chromedriver_path, options=driver_option)

URL = ""

browser.get(url)
# Clicking the button.
elem1 = browser.find_element_by_link_text("download file")
# Clicking the button.
elem1.click()

Я поместил предыдущий код в al oop для всех лет до 2020 года и Я получил все файлы в формате CSV

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...