Monday, 23 July 2018

Export Chrome (or Chromium) browsing history on Linux

Export Chrome (or Chromium) browsing history on Linux
To export Chrome (or Chromium) browsing history on Linux in a more flexible format than what Settings > History displays, could extract it from the History file, which is an SQLite database.
First need to find the History file. It's in the user-data-dir.
1. Find out the user-data-dir
$ ps auxf | egrep -o '\-\-user-data-dir=[^ ]+' | sort -u
--user-data-dir=/home/alain/.config/chromium/profile1
--user-data-dir=/tmp/tmp.4rfzttzuPo
2. Let's say I'm interested in the temp profile history, to find its History file:
$ userdata="/tmp/tmp.4rfzttzuPo"
$ history=$(find $userdata -name History)
$ echo history DB is: $history
history DB is: /tmp/tmp.4rfzttzuPo/Default/History
3. Copy the file elsewhere (else will get 'Error: database is locked')
$ cp $history /tmp/History
4. Finally get the history:
$ sqlite3 /tmp/History "
  SELECT datetime(last_visit_time/1000000-11644473600,'unixepoch','localtime'),
         url
  FROM urls 
  ORDER BY last_visit_time
  ASC
"
Result:
2014-01-28 22:51:49|http://tools.google.com/chrome/intl/en/welcome.html
2014-01-28 22:51:49|https://www.google.com/intl/en/chrome/browser/welcome.html
2014-01-28 22:51:58|http://news.google.com/
2014-01-28 22:52:21|http://news.yahoo.com/
5. Remove the temp file
$ rm /tmp/History
Or could skip the extra steps and just copy/paste browsing history from Settings > History, and end up with:
10:52 PM
Yahoo News - Latest News & Headlines
news.yahoo.com


10:51 PM
Google News
news.google.com


10:51 PM
Getting Started
www.google.com

I just made a chrome extension that exports your chrome history as a csv Excel-readable spreadsheet and json: https://chrome.google.com/webstore/detail/hcohnnbbiggngobheobhdipbgmcbelhh/publish-accepted

0 comments:

Post a Comment