用一个命令从海外下载你的摘录。

itauscraper的Python项目详细描述


动机

虽然api已经存在,但大多数银行仍然不提供表单 方便您的客户提取自己的数据。如此简单的事情 获得银行对账单要花多少钱是一件很难系统化的事。

我查了一下有没有准备好去意大利的东西,发现 银行刮板 do 提供多个脚本的kamus 有趣。不幸的是,ITAU已经不能工作了, 但是通过研究你的代码,我发现了一个好的提示:

计算机ITAU站点的导航非常复杂 javascript魔术。但是移动一次性用品网站呢?

我激活了"移动模式" 从chrome获取 邮递员 以及 邮递员拦截器 跟踪所有请求并 宾果 。事实上,它要简单得多。

我决定写这篇文章来解释这个过程,强调 很奇怪,谁知道在发生变化时如何方便以后的维护。

此脚本仅适用于物理人,因为ITAU强制 公司使用您的移动应用程序时不允许访问移动网站 通过浏览器。

工作原理

这段代码很简单,并在库中使用了python 3 导航请求 以及用于数据提取的 xpath 除了解释代码本身,重要的是理解 他需要复制的导航。

http协议是异步的,要求每个请求再次发送 所有必要的信息。然而,银行的网站创造了一个动态 在需求变化之间建立依赖关系的服务器客户端包括 所以整个过程是按顺序进行的,充满了 正常情况下不需要的中间步骤。

使用 requests.session 我们能够重现连续导航的效果 在传播 cookies和其他 headers的多个页面之间

类 通过移动浏览器。

类ITaustraper使用会话执行登录 参见提取

登录

要在银行网站上登录,您需要访问 找到真实登录的url,根据我的理解,它会不时更改。

使用正确的登录url,现在必须创建一个新的get asp.net在登录表单中注入的信息,然后执行post 认证。

登录完成后,我们将重定向到一个包含 导航。此页不在流中使用,但当我们要实现新的 itaustraper中的功能这是我们应该开始的地方。

:img alt="https://raw.githubusercontent.com/henricebastos/itauscraper/master/docs/itau-login.jpg.sr="https://warehouse-camo.cmh1.psfhosted.org/4603b619be619be619be61c363636363636c374f163264/666666666 8707722f226699666666666666665555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555656e7269717565626173746f732f69746573637260657f6d61737465722f646663732f974652d6c667696e2e6a7067"/>

提取

当我们访问提取的url 在摘录页的末尾有四个链接,列出各时期的摘录 7、15、30和90天。这些URL似乎会不时地改变,就像登录时一样, 然后需要 提取链接 90天 并使用另一个 获取 :img alt="https://raw.gitubuusercom/henricebastos/itauscraper/master/docs/itau-exttrat.jpg.sr="https://warehouse-camo.cmh1.psfhosted.org/A9095495466/6666669565555555555555555555559999999999999999999999999999999999999393090909090909939393303030D640204和/6666666666666666666647477777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777732697465736372617065722F6D61737465722F643732F697461752D657872646F2E6A7067/> 提取最长周期:

  1. 我们从html中提取信息;
  2. 我们使用以下列重建表:date、description和value;
  3. 过滤与释放不对应的平衡线;
  4. 我们将每个 日期 转换为类型 日期时间.date
  5. 我们将每个 转换为类型 十进制
最后,我们有一个tuplas的元组
形式:

阿尔法。1。阿尔法。

当我们访问卡的url时,将显示三个选项以列出:

  1. 上一张发票;
  2. 当前发票;
  3. 下一张发票的部分发行。

这些URL似乎会不时更改,因此有必要提取链接 当前发票 并执行一个新的 get 以获取发布声明。

https://raw.githubusercontent.com/henricebastos/itauscraper/master/docs/itau-cartao.jpg.sr= 除了条目外,页面上还有一个总计摘要。

带卡片声明:

  1. 我们从html中提取信息;
  2. 我们将摘要重建为 字典
  3. 我们使用以下列重建表:date、description和value;
  4. 我们将每个 日期 转换为类型 日期时间.date
  5. 我们将每个 转换为类型 十进制
最后,我们有一个带发票摘要的 字典和一个 元组的 形式:

阿尔法。2。阿尔法。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java WebClient请求级别超时抛出名为default onErrorDropped的运算符   java JAXB外部绑定文件错误   Freemarker中的java转义宏参数值   java正在同步来自不同对象{已编辑}的线程   java如何在另一个类上更新活动中的元素   java Hibernate连接查询   java可以使用Apache Crunch创建类似于图形的数据结构吗?   java在JLabel的开头加上3个点   java 安卓应用程序显示线程错误   java@RequestBody在Spring中总是空的   java Android异步任务永远不会结束   具有多个属性的java Jaxws枚举   java中的安卓 Stripe InvalidRequestException   多线程java。util。非多线程程序中的ConcurrentModificationException   Minecraft Java插件如何删除HashMap中存储的所有块   空Java字符串的大小   从AJP连接器请求检索Shibboleth属性的java   oracle11g将Java类文件加载到Oracle数据库