首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我们如何遍历项目,并从网站上批量下载文本文件?

我们如何遍历项目,并从网站上批量下载文本文件?
EN

Stack Overflow用户
提问于 2020-12-09 00:12:20
回答 1查看 88关注 0票数 0

我正在尝试弄清楚如何遍历ListBox中的项目以及下载和批量下载文本文件。

这是我正在查看的链接。

https://cdr.ffiec.gov/public/PWS/DownloadBulkData.aspx

我想选择这个产品。

‘电话会议报告--资产负债表,损益表,逾期--四个时期’

然后循环浏览2020-2012年,并将这些文件批量下载到我的本地硬盘驱动器。

我在浏览器中点击了F11,很容易就找到了按钮和“DatesDropDownList”,但我没有看到任何链接到文本文件的URL,这些文本文件对所有的下载都很有用。你需要Selenium来做这个吗?

除了在列表中选择和单击按钮之外,有没有某种web服务可以让这个过程变得更容易?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-09 01:05:06

我会使用硒。在Python中实现你在web浏览器中手动完成的操作是一条简单的途径。

下面是从您提供的内容中提取的示例。

代码语言:javascript
运行
复制
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

# using Google Chrome, can use the browser of your choice
driver = webdriver.Chrome('PATH/TO/chromedriver.exe')

url = 'https://cdr.ffiec.gov/public/PWS/DownloadBulkData.aspx'
driver.get(url)

等待可用产品加载,然后选择value。

代码语言:javascript
运行
复制
path = "//select[@id='ListBox1']"
products = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located(
        (By.XPATH, path)
    )
)

select = 'Call Reports -- Balance Sheet, Income Statement, Past Due -- Four Periods'
driver.find_element_by_xpath(path+"/option[text()='"+select+"']").click()

等待数年才能加载。获取年份列表。选择其中一个作为示例。

代码语言:javascript
运行
复制
path = "//select[@id='DatesDropDownList']"
dropdown = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located(
        (By.XPATH, path)
    )
)

dates = driver.find_elements_by_xpath(path+'/option')

# an example, you can loop through dates
driver.find_element_by_xpath(path+"/option[text()='"+dates[10].text+"']").click()

你可以从这里解压文件,将它们加载到Pandas中,然后存储在DataFrame文件、数据库等中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65202606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档