2015-06-04 32 views
0

我正在測試我的網站以氾濫其分析API調用。由於我的網站使用本地存儲來識別客戶端,因此我需要訪問本地存儲。獲取使用python的網絡服務器設置的本地存儲數據

我可以訪問使用此代碼在python餅乾:

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本地存儲數據?

回答

1

本地存儲特定於瀏覽器。

本地存儲是一種使用JavaScript存儲持久數據的方法。它只能用於兼容HTML5的網頁瀏覽器。 Local storage - according to stack overflow tag definition

要訪問python中的本地存儲,需要兼容的瀏覽器的python API HTML5

+1

訪問本地存儲的唯一方法是在瀏覽器中使用JavaScript。所以你需要一個JavaScript的Python API。 – Daniel

0

costales想出了Chrome瀏覽器的解決方案,在這裏:

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

它利用的事實,Chrome和Opera使用 「SQLite的格式3」 的網絡存儲(A/K/A本地存儲或DOM存儲)。在Windows 10的Chrome目前保持這個文件夾中的Web存儲文件:

「%LOCALAPPDATA%\谷歌\鍍鉻\用戶數據\ DEFAULT \本地存儲\」

戲應該是相似的。 (舊Opera使用XML文件,但Opera的最新版本基本上是Chrome/Chromium的版本)。

Firefox與Firefox相似,只是Firefox似乎對所有網頁的所有Web存儲使用一個偉大的SQLite數據庫;見李國修的和Kevin Hakanson潛在的答案在這裏:

Where does Firefox store javascript/HTML localStorage?

costales的解決方案是簡單地導入sqlite3的,然後讀Chrome的本地存儲的文件。非常甜蜜!

相關問題