Firefox 關於網址的記錄都存放在 places.sqlite 中,此檔案為 sqlite3 資料庫,檔案位置
Linux
/home/<user>/.mozilla/firefox/<profile>/
Win XP
C:\Documents and Settings\<user>\Application Data\Mozilla\Firefox\Profiles\<profile>\
Vista / Win7
C:\Users\<user>\AppData\Roaming\Mozilla\Firefox\Profiles\<profile>\
其中的 <profile> 格式為 "亂數.default",例如 dhyt3gd2.default,Schema 參考 The Places database。
以下範例是讀出書籤中 wretch 與 xuite 網址,將使用者 id 與網站類型語名稱存入 array 。(註: 當 Firefox 正在執行時會 lock db,須先將其複製到 temp 後再存取)package require sqlite3 set dirList [glob -directory [file join $::env(home) AppData/Roaming/Mozilla/Firefox/Profiles] -type d *] foreach dir $dirList { set fBookmark [file join $dir places.sqlite] if { [file exists $fBookmark] == 0 } { unset fBookmark } } if [info exists fBookmark] { set fDb [file join $::env(home) .wget bookmarkFF.db] file copy -force $fBookmark $fDb array set bookmarkList "" db eval {SELECT url, moz_bookmarks.title FROM moz_places, moz_bookmarks \ WHERE moz_places.id = moz_bookmarks.fk and \ (url like '%www.wretch.cc%' or url like '%xuite.net%')} result { regexp {http://([\w.]+)} $result(url) -> host foreach t {wretch xuite} { if {[string first $t $host] != -1} { set type $t break } } set uid "" switch $type { wretch { regexp {http://[\w.]+/[\w]+/([\w]+)} $result(url) -> uid } xuite { regexp {http://[\w.]+/([\w.]+)} $result(url) -> uid } set bookmarkList($type,[string tolower $uid]) $result(title) } } } db close
沒有留言:
張貼留言