跳转到主要内容

抓取个人财务数据的工具。

项目描述

用于从金融机构抓取个人财务数据的Python包。

License: GPL v2 PyPI Build

此包可以单独使用,但特别设计为与beancount-import一起使用。

支持的数据源

配置

要从PyPi安装最新发布的包,只需输入以下内容:

pip install finance-dl

要从仓库的克隆版安装,请输入以下内容:

pip install .

或者,用于开发:

pip install -e .

配置

创建一个名为finance_dl_config.py的配置文件。有关此文件的完整示例和一些文档,请参阅example_finance_dl_config.py

有关详细信息,请参阅各个爬虫模块的文档。

基本用法

您可以通过以下方式运行名为myconfig的爬虫配置:

python -m finance_dl.cli --config-module example_finance_dl_config --config myconfig

配置myconfig引用配置模块中名为CONFIG_myconfig的函数。

请确保您的配置模块在您的Python sys.path中可访问。由于sys.path默认包含当前目录,您可以从包含您的配置模块的目录中直接运行此命令。

默认情况下,爬虫将完全自动运行,基于seleniumchromedriver的爬虫将在无头模式下运行。如果基于selenium的爬虫的初始尝试失败,它将自动再次尝试,但此时浏览器窗口是可见的。这允许您手动完成登录过程并输入所需的任何多因素认证代码。

要调试爬虫,您可以通过指定-i命令行参数以交互模式运行它。这将在交互式IPython shell中运行,允许您手动调用爬虫过程的各个部分。

自动使用

要同时运行多个配置,并跟踪每个配置最后更新时间,您可以使用finance_dl.update工具。

要显示更新状态,首先创建一个logs目录并运行以下命令:

python -m finance_dl.update --config-module example_finance_dl_config --log-dir logs status

最初,这将指示没有配置被更新。要更新单个配置myconfig,请运行以下命令:

python -m finance_dl.update --config-module example_finance_dl_config --log-dir logs update myconfig

指定单个配置时,这会与finance_dl.cli工具做同样的事情,不同之处在于日志消息被写入到logs/myconfig.txt,如果成功,将创建一个logs/myconfig.lastupdate文件。

如果指定了多个配置,如下所示:

python -m finance_dl.update --config-module example_finance_dl_config --log-dir logs update myconfig1 myconfig2

则将并行运行所有指定的配置。

要更新所有配置,请运行以下命令:

python -m finance_dl.update --config-module example_finance_dl_config --log-dir logs update --all

关于Chromedriver版本说明

Chromedriver和Chrome关系非常紧密;它们的版本需要匹配。finance_dl使用来自chromedriver_binary Python包的Chromedriver(而不是您的系统上安装的Chromedriver二进制文件)。然而,默认情况下,Chromedriver使用您的系统上安装的Chrome版本。根据您如何在系统上管理这两个安装,这种组合可能会频繁导致finance_dl因以下消息而失败:

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 97
Current browser version is 96.0.4664.45 with binary path /usr/bin/google-chrome

在这种情况下,您有几个选择

  1. 显式管理您的chromedriver_binary Python包以匹配您的安装的Chrome版本;
  2. 显式管理您的安装的Chrome版本以匹配您的chromedriver_binary Python包;或者
  3. 在除系统默认Chrome版本之外的位置安装与您的chromedriver_binary版本匹配的Chrome版本,并将环境变量CHROMEDRIVER_CHROME_BINARY设置为指向它。(您可以从您的finance_dl配置脚本中这样做,例如,使用类似以下行:os.environ["CHROMEDRIVER_CHROME_BINARY"] = "/usr/bin/google-chrome-beta")。

许可证

版权(C)2014-2018 Jeremy Maitin-Shepard。

仅根据GNU通用公共许可证,版本2.0分发。有关详细信息,请参阅LICENSE文件。

项目详情


下载文件

下载适合您平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。

源代码分布

本发布版本没有可用的源代码分布文件。请参阅生成分布存档的教程。

构建分布

finance_dl-1.3.4-py3-none-any.whl (88.8 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面