Vedi il tempo di visita del sito Web nella cronologia di Safari


21

Sto cercando di capire come determinare l'ora in cui i siti Web sono stati visitati nella cronologia di Safari. (Non riesco a immaginare perché questo non sia facile da fare come in ogni altro browser che abbia mai usato).

NOTA: utilizzo Safari 9.0.3 ed El Capitan 10.11.3.

Ho fatto qualche ricerca e ho trovato alcuni file in ~/Library/Safari. Il file History.dbsembra possibilmente promettente ma non sono ancora riuscito a capire come trovare il timestamp da questo.

Risposte:


16

Ho appena provato questo in 10.11.4 e funziona; puoi vedere la storia. Se qualcuno cancella la cache, questo scompare.

Vai alla seguente posizione:

/Users/yourname/Library/Caches/Metadata/Safari/History/

Da qui è possibile cambiare la visualizzazione in Visualizzazione elenco e ordinare per Data di modifica.


3
sarebbe comunque bello se Apple lavorasse un po 'su questo - una semplice estensione sarebbe utile così per chrome chrome.google.com/webstore/detail/better-history/…
BG Bruno

22

Così oggi mi sono svegliato con la mia app per il monitoraggio del sonno dicendomi che ero andato a letto un'ora prima di quanto pensassi, quindi naturalmente ho pensato che l'app fosse quella che ha fatto lo stupido errore. Per fortuna avevo navigato sul web prima di andare a letto, ma apparentemente Apple ha cambiato di nuovo le cose a partire da High Sierra o Safari 11, quindi le altre risposte non hanno funzionato per me.

Ho scoperto come ottenere i tempi di visita e dal momento che sono andato molto lontano per arrivare in fondo a questo problema estremamente poco importante, ho pensato di condividere i miei risultati qui:

modificare

Okay, quindi mi sono lasciato trasportare un po 'di più e ho scritto una battuta one-liner per fare tutto il duro lavoro per te. Basta aprire il terminale e copiarlo. Dovrebbe funzionare senza dover installare nulla, a meno che Apple non abbia cambiato di nuovo qualcosa nel frattempo.

È possibile ignorare le righe vuote nell'output (sono reindirizzamenti http) e modificare l'ultimo numero 30nel comando per filtrare il numero di righe che si desidera visualizzare.

sqlite3 ~/Library/Safari/History.db 'select visit_time,title from history_visits order by visit_time desc;' \
 | while read i; do d="${i%%.*}"; echo "$(date -r $((d+978307200))) | ${i#*|}"; done \
 | head -n 30

Risposta originale

Quindi, invece di avere una semplice cartella con tutta la cronologia come prima, ora scrivono la cronologia in un database. Ecco come ottenere le informazioni se si desidera:

  1. I dati sono ora archiviati in un database SQLite, quindi avrai bisogno di alcuni strumenti per leggerlo. Suggerisco il DB Browser per SQLite . Basta installarlo nel solito modo.
  2. Ora apri il file del database. Si trova qui: /Users/[yourname]/Library/Safari/History.db.
  3. Nella scheda Sfoglia dati fare clic sulla tabella: menu a discesa e selezionare history_visits . Schermata History_visits
  4. Ora ordina per visit_time e trova ciò che ti interessa.
  5. Quei numeri nella colonna visit_time sono un Timestamp dei dati di base, quindi per ottenere qualcosa di leggibile dall'uomo è necessario un convertitore. Basta usare questo: https://www.epochconverter.com/coredata

Spero che questo risolva il tuo enigma legato alla storia.


1
Sei un compagno fantastico !! Funziona come un incanto anche nel Mojave !!
Jeeva,

2
Le altre soluzioni non funzionavano su Mojave ma questo funziona alla grande !! Grazie mille :)
Flaming_Dorito

Se fallisce, basta copiare il file del database in un altro posto, o forse chiudere safari è sufficiente
Simon

10

Ho modificato l'Oneliner che Meonlol ha dato sopra. In questo modo è solo pura query SQL.

sqlite3 ~/Library/Safari/History.db \
    'SELECT datetime(visit_time+978307200, "unixepoch", "localtime"), title
     FROM history_visits
     ORDER BY visit_time DESC
     LIMIT 30;'

In Mojave, e possibilmente in seguito, l'accesso al file nel terminale sembra limitato. Consentire l'accesso completo al Terminale nelle Preferenze di Sistema o utilizzare il Finder per aprire ~/Library/Safarie quindi copiare History.dbda qualche altra parte.


1
+1 sulla copia del database in una posizione all'esterno dell'albero della libreria (almeno in Mojave). Sembra un passaggio richiesto per accedere al database.
DaveL17

1
È ancora possibile accedere al file su Mojave se si concede l'accesso completo al Terminale in Preferenze di Sistema.
Nohillside

1

Questo percorso è cambiato in Sierra

Nel 10.12.6 vai a

/ Users / nomeutente / Library / Caches / Metadati / Safari / Storia


0

In Sierra ora basta usare Finder per cercare una cartella chiamata Safari, quindi andare nella cartella Cronologia e puoi cambiare la vista come menzionato prima.


0

Volevo l'URL e il titolo della finestra, oltre alla possibilità di cercare o selezionare ecc che possono essere aggiunti alla query (illustrando la menzione di google ovunque). In questo caso ho rimosso qualsiasi coda lunga di URL dopo la e commerciale (&) carattere. Il tac lo riporta all'ultimo ordine finale. Nella sessione terminale:

sqlite3 ~/Library/Safari/History.db 'SELECT datetime(history_visits.visit_time+978307200, "unixepoch", "localtime"), history_visits.title || " @ " || substr(history_items.URL,1,max(length(history_items.URL)*(instr(history_items.URL,"&")=0),instr(history_items.URL,"&"))) as Info FROM history_visits INNER JOIN history_items ON history_items.id = history_visits.history_item where Info like "%google%" ORDER BY visit_time DESC  LIMIT 30;'|tac

La revisione della navigazione in una data passata implica complessità di data e ora, ma ciò può aiutare, a partire da una data e ora, a modificare2020-01-19 15:30 per le tue esigenze ...

sqlite3 ~/Library/Safari/History.db 'SELECT datetime(history_visits.visit_time+978307200, "unixepoch", "localtime"), history_visits.title || " @ " || substr(history_items.URL,1,max(length(history_items.URL)*(instr(history_items.URL,"&")=0),instr(history_items.URL,"&"))) as Info FROM history_visits INNER JOIN history_items ON history_items.id = history_visits.history_item where history_visits.visit_time>(julianday("2020-01-19 15:30")*86400-211845068000)  ORDER BY visit_time ASC LIMIT 30;'

Dare output come:

2020-01-20 16:35:15|Amazon.co.uk: carborundum wheel @ https://www.amazon.co.uk/s/ref=nb_sb_noss_1?url=search-alias%3Daps&
2020-01-20 16:35:15|Amazon.co.uk: carborundum wheel @ https://www.amazon.co.uk/s?k=carborundum+wheel&
2020-01-20 16:35:41|Multi-Sharp 1301 Rotary Mower/Garden Tool Sharpener: Amazon.co.uk: Garden & Outdoors @ https://www.amazon.co.uk/Multi-Sharp-Rotary-Mower-Garden-Sharpener/dp/B0001OZH6M/ref=sr_1_11?keywords=carborundum+wheel&
2020-01-20 16:37:14|Amazon.co.uk: grinding wheel @ https://www.amazon.co.uk/s?k=grinding+wheel&
2020-01-20 16:39:26|Amazon.co.uk: grinding wheel @ https://www.amazon.co.uk/s?k=grinding+wheel&
2020-01-20 16:39:26|Amazon.co.uk: grinding wheel @ https://www.amazon.co.uk/s?k=grinding+wheel&
2020-01-20 16:40:15|FERM BGA1057 Grind Stone: Amazon.co.uk: DIY & Tools @ https://www.amazon.co.uk/Ferm-BGA1057-FERM-Grind-Stone/dp/B00AW9GVO8/ref=sr_1_71?keywords=grinding+wheel&

Un'ultima nota, se apri una sessione sqlite3 per fare molte query ho scoperto che il database non sembra aggiornarsi se continui a utilizzare Safari. Forse viene utilizzata una copia di snapshot? (Questo su El Capitan. Se devi fare una copia di file su versioni successive del sistema operativo, ovviamente non vengono mostrati aggiornamenti!)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.