网上银行网页抓取[关闭]

Posted

技术标签:

【中文标题】网上银行网页抓取[关闭]【英文标题】:Online banking web scraping [closed] 【发布时间】:2019-07-26 10:13:00 【问题描述】:

我想抓取我的网上银行网站。我有多个银行账户(在不同的银行),需要定期提取最新交易以查看我的总体支出并监控我的支出。目前我必须访问每个银行网站,提取提取物,将它们转储到 excel 文件中,执行一些重新格式化和过滤。我想自动化整个过程。首先要有一个程序,该程序可以自动从我的银行账户中提取转账历史记录。

我了解了如何使用请求和漂亮的汤库抓取需要登录数据的网站。 我了解您通常需要构建一个“有效负载”字典,其中包含: 1. 用户名 2.密码 3.网站提供的token值

在我的大通银行的情况下,我找不到令牌值但找到了行:

<div id=”securityToken” class=”logon-xs-toggle hidden”>
    <input id=”securityToken-input-field” class=”jpui logon-xs-toggle” min=”0” placeholder=”Token” format=”” aria-describedby=“securityToken-placeHolderAdaText securityToken-helpertext” autocomplete=”off” maxlength=”35” name=”securityToken” data-validate=”securityToken” required=”” value=”” type=”tel”>
    <span id=”securityToken-placeholderAdaText” class=”util accessible-text validation__accessible-text”>Token</span>
</div>

如何确定我需要的 securityToken 值? 谢谢

【问题讨论】:

“我想抓取我的网上银行网站”——这可能会非常困难。大多数银行网站对任何看起来很“有趣”的东西都非常敏感。你在这里的实际目标是什么?为什么要这样做? 【参考方案1】:

使用 selenium 将使您摆脱登录请求以及绕过其安全保护的所有麻烦,因为它是一个提供浏览器自动化的框架,就像真人导航一样。

Selenium 非常简单,一旦您在此处安装并下载了浏览器驱动程序,使用 chrome 驱动程序的登录过程将是什么样子

import selenium.webdriver as webdriver
import selenium.webdriver.support.ui as ui
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from selenium.common.exceptions import NoSuchElementException
from time import sleep

options = webdriver.ChromeOptions()
options.add_argument('--lang=EN')

driver = webdriver.Chrome(executable_path='assets\chromedriver', chrome_options=options)
driver.get("website loging url")
sleep(2)

driver.find_element_by_id("login").send_keys("username")
driver.find_element_by_id("password").send_keys("passowrd")
driver.find_element_by_id("submit_button").click()

【讨论】:

假设没有验证码,这应该可以工作!

以上是关于网上银行网页抓取[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

怎么用Python写爬虫抓取网页数据

Baiduspider - 百度蜘蛛

爬虫简介

WebMagic 抓取图片并保存至本地

爬虫初入

Python3简单爬虫抓取网页图片