【问题标题】:I am trying to download the Yearly data from this website using python but i am not sure how to approach it?我正在尝试使用 python 从该网站下载年度数据,但我不知道如何处理它?
【发布时间】:2020-04-19 20:14:25
【问题描述】:

我想学习如何使用 python 下载过去十年的 CSV 文件。我认为这会有所帮助。

https://www.usgovernmentspending.com/compare_state_debt

我的尝试涉及请求和熊猫。

【问题讨论】:

  • 欢迎来到Stackoverflow,请查看How to Ask,同时请注意StackOverflow 不用于分配您的homeworkwork 任务。请edit您的问题并向我们展示您尝试了什么以及失败了什么。
  • 我只是想提高我的技能

标签: python selenium web-scraping beautifulsoup data-collection


【解决方案1】:

这是一个多部分问题,我将概述我认为您应该使用的步骤。

  • 第一部分将简单地下载网页。我的建议是使用requests 之类的东西来获取网页
  • 一旦你有了,你可以使用beautiful soup来解析网页。
  • 我查看了该网站,看起来您可以通过多种方式下载数据。我认为获取数据的最佳方式是从页面中的this 特定部分提取所有文本。
  • 完成此操作后,您可能需要清理数据。我建议为此使用pandas

这里的人不会为你解决整个问题。也就是说,如果您在此过程中遇到困难并有特定问题,StackOverflow 可能会在此时提供帮助。

【讨论】:

    【解决方案2】:

    问题已解决我设法使用 selenium 解决了它。

    通过执行以下操作:

    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()
    

    直到 2020 年,我都将之前的代码循环放入了一个循环中,并且我得到了 CSV 格式的所有文件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-17
      • 2014-02-11
      • 2021-11-21
      • 2021-12-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多