Python 从安全网站获取数据

Posted

技术标签:

【中文标题】Python 从安全网站获取数据【英文标题】:Python get data from secured website 【发布时间】:2012-03-27 16:34:11 【问题描述】:

我想知道是否有办法使用 Python 从我的银行网站获取信息,我想检索我的银行卡历史记录并显示它,并可能每月将其保存到文本文档中。

我找到了用于登录并从网站获取信息的 url 分机,该网站可通过浏览器运行,但我一直在使用 liburl2 从 Python “打开”网页,但我感觉它无法正常工作,因为某些原因cookie 或会话的东西。

我可以从不需要使用 urllib2 登录的网站获取我想要的任何信息,然后保存实际的 html 并稍后浏览,但我无法在我的银行网站上,

任何帮助将不胜感激

【问题讨论】:

这可能很困难。您可能会很幸运地使用浏览器工具框架在浏览器中实际加载页面并自己填写表单字段。 我遇到过这个wwwsearch.sourceforge.net/mechanize - 这是一个浏览器工具框架吗? doc.scrapy.org/en/latest/intro/overview.html 可能值得一看。 试试scrapy。 至少使用python-requests.org而不是urllib2;它大大减少了必须编写的样板。 【参考方案1】:

这是 Web-Scraping 的一部分:

网页抓取是一项可以满足各种需求的标准任务。 从安全网站中抓取数据意味着https 处理https 不是mechanizeBeautifulSoup 的问题 虽然urllib2HTTPCookieJar 也可以正常工作 如果管理 cookie 是问题,那么我会推荐mechanize

考虑到您的银行网站:

    我建议不要使用您的帐户玩游戏。 如果您必须这样做,它并不像任何普通的安全/非安全站点那样简单。 这些网站旨在承受此类脚本。

您将面临的问题:

    银行网站肯定会有验证码,除非您付出大量的火箭科学和努力,否则几乎不可能通过脚本绕过该验证码。 您肯定会遇到的其他问题是 javascript,标准脚本解决方案专注于管理 cookie、HTML 解析等。要处理链接上的 javascript,您必须在 python 脚本中处理 js。这又需要付出很多努力。 然后,再次来自 javascript 的 AJAX 在页面加载后从服务器获取数据。

因此,完成这项任务需要您付出很多努力。

此外,如果您尝试这样做,您可能会阻止访问您的帐户,因为银行网站会在 3-4 次尝试登录或验证码等失败时迅速阻止帐户访问。

所以,请三思而后行。

【讨论】:

如果您在脚本中有您的用户名和密码,您就不能将它们传递给网站以访问您的数据吗? Mint.com 之类的网站不就是这样运作的吗?

以上是关于Python 从安全网站获取数据的主要内容,如果未能解决你的问题,请参考以下文章

提示:您的商店似乎没有使用安全连接。我们强烈建议通过 HTTPS 连接为您的整个网站提供服务,以确保客户数据的安全

如何获取网站的HTTPS证书?

如何获取网站的HTTPS证书?

如何通过注入SQL语句获取网站管理权限及安全措施(转)

《大型网站技术架构》读书笔记之八:固若金汤之网站的安全性架构

大型网站技术架构,8网站的安全架构之信息加密技术及密钥安全管理