Rom*_*man 5 html python local-storage web-scraping
我必须使用 Python 以自动方式访问(读取)网页。使用 Python,我可以轻松访问网页的内容(HTML 代码)以及服务器发送的 cookie。
现在,在 HTML5 中,我们有了一个新概念“本地存储”。所以,我需要修改我的 Python 脚本,以便我也可以读取存储在本地存储中的数据。
有可能这样做吗?是否有任何 Python 库可以让它变得简单?
是的,但是 Python 本身不包含 JavaScript 解释器。因此,您可以通过 Selenium 在 Web 浏览器实例上执行自定义脚本,正如thibpat提到的那样。
其他选项是PhantomJS,运行无头浏览器。
for (var i = 0; i < localStorage.length; i++){
key=localStorage.key(i);
console.log(key+': '+localStorage.getItem(key));
}
Run Code Online (Sandbox Code Playgroud)
正如这里提到的,浏览器也应该实现 HTML5 功能Array.prototype.map。所以脚本将是:
Array.apply(0, new Array(localStorage.length)).map(function (o, i)
{ return localStorage.key(i)+':'+localStorage.getItem(localStorage.key(i)); }
)
Run Code Online (Sandbox Code Playgroud)
您可能希望将 Python 与桌面开发框架结合使用。前任。PyQt。
从定义来看:
与服务器和客户端都可以访问的 cookie 不同,Web 存储完全属于客户端脚本的权限范围。Web 存储数据不会在每个 HTTP 请求中自动传输到服务器,并且 Web 服务器无法直接写入 Web 存储。然而,这两种效果都可以通过显式的客户端脚本来实现,从而允许微调所需的与服务器的交互。
因此,在我看来,本地存储是由网络浏览器(例如 Opera)存储在运行浏览器的硬盘驱动器(或云计算机)上的数据。因此,要获取它们,您需要在本地破解 Opera 的执行文件、库和/或数据文件,这很困难。最简单的方法是应用客户端脚本,即 JavaScript。
| 归档时间: |
|
| 查看次数: |
10659 次 |
| 最近记录: |