使用python获取Web服务器设置的本地存储数据

时间:2015-06-04 07:59:19

标签: python local-storage

我正在测试我的网站以充斥其分析api调用。由于我的站点使用本地存储来识别客户端,因此我需要访问本地存储。

我可以使用以下代码访问python中的cookie:

import cookielib
import urllib2

cookies = cookielib.LWPCookieJar()
handlers = [
    urllib2.HTTPHandler(),
    urllib2.HTTPSHandler(),
    urllib2.HTTPCookieProcessor(cookies)
    ]
opener = urllib2.build_opener(*handlers)

def fetch(uri):
    req = urllib2.Request(uri)
    return opener.open(req)

def dump():
    for cookie in cookies:
        print cookie.name, cookie.value

uri = 'http://localhost:3000'
res = fetch(uri)
dump()

res = fetch(uri)
dump()

# save cookies to disk. you can load them with cookies.load() as well.
cookies.save('mycookies.txt')

如何在python中访问本地存储数据?

2 个答案:

答案 0 :(得分:1)

本地存储特定于浏览器。

  

本地存储是一种使用JavaScript存储持久数据的方法。它   应仅与HTML5兼容的Web浏览器一起使用。 Local storage - according to stack overflow tag definition

要在python中访问本地存储,需要HTML5兼容的浏览器的python API。

答案 1 :(得分:0)

costales为Chrome提出了一个解决方案:

How to read/modify a local file of HTML5 Local Storage from Python?

它利用了Chrome和Opera将“SQLite格式3”用于Web存储(a / k / a本地存储或DOM存储)这一事实。在Windows 10下,Chrome目前将其Web存储文件保存在此文件夹中:

“%LOCALAPPDATA%\ Google \ Chrome \ User Data \ Default \ Local Storage \”

Opera应该是类似的。 (Old Opera使用的是XML文件,但最新版本的Opera基本上都是Chrome / Chromium的分支。)

Firefox类似,只是Firefox似乎为所有网页的所有Web存储使用了一个很棒的大SQLite数据库;请看Hugh Lee和Kevin Hakanson的答案:

Where does Firefox store javascript/HTML localStorage?

costales的解决方案是简单地导入sqlite3,然后阅读Chrome的本地存储文件。太可爱了!