Voir l'heure de visite du site Web dans l'historique de Safari

21

J'essaie de déterminer comment déterminer l'heure à laquelle les sites Web ont été visités dans l'histoire de Safari. (Je ne peux pas imaginer pourquoi ce n'est pas facile à faire comme dans tous les autres navigateurs que j'ai jamais utilisés).

REMARQUE: j'utilise Safari 9.0.3 et El Capitan 10.11.3.

J'ai fait des recherches et trouvé des fichiers dans ~/Library/Safari. Le fichier History.dbsemble prometteur, mais je n'ai pas encore trouvé comment trouver l'horodatage à partir de cela.

Darren
la source

Réponses:

16

J'ai juste essayé ceci dans 10.11.4 et cela fonctionne; vous pouvez voir l'histoire. Si quelqu'un vide le cache, cela disparaît.

Accédez à l'emplacement suivant:

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

De là, vous pouvez changer la vue en vue Liste et trier par Date de modification.

fsb
la source
3
ce serait quand
BG Bruno
22

Alors je me suis réveillé aujourd'hui avec mon application de suivi du sommeil en me disant que je me suis couché une heure plus tôt que je ne le pensais, alors naturellement, j'ai supposé que l'application était celle qui avait fait l'erreur stupide. Heureusement, j'avais surfé sur le Web avant d'aller me coucher, mais apparemment, Apple a changé les choses à nouveau à partir de High Sierra ou de Safari 11, donc les autres réponses n'ont pas fonctionné pour moi.

J'ai découvert comment obtenir les heures de visite, et comme je suis allé trop loin pour aller au fond de ce problème très peu important, j'ai pensé partager mes conclusions ici:

Éditer

D'accord, je me suis un peu plus emporté et j'ai écrit un bash one-liner pour faire tout le travail dur pour vous. Ouvrez simplement le terminal et copiez-le. Il devrait fonctionner sans avoir à installer quoi que ce soit, à moins qu'Apple n'ait changé quelque chose à nouveau entre-temps.

Vous pouvez ignorer les lignes vides dans la sortie (ce sont des redirections http) et vous pouvez modifier le dernier nombre 30de la commande pour filtrer le nombre de lignes que vous souhaitez voir.

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

Réponse originale

Ainsi, au lieu d'avoir un simple dossier avec toute l'histoire comme auparavant, ils écrivent maintenant l'historique dans une base de données. Voici comment obtenir les informations si vous le souhaitez:

  1. Les données sont désormais stockées dans une base de données SQLite, vous aurez donc besoin d'un outil pour le lire. Je suggère le navigateur DB pour SQLite . Installez-le simplement de la manière habituelle.
  2. Ouvrez maintenant le fichier de base de données. Il est situé ici: /Users/[yourname]/Library/Safari/History.db.
  3. Dans l' onglet Parcourir les données, cliquez sur le menu déroulant Table: et sélectionnez history_visits . Capture d'écran de History_visits
  4. Maintenant, triez par visit_time et trouvez la chose qui vous intéresse.
  5. Ces chiffres sous la colonne visit_time sont un horodatage des données de base, donc pour obtenir quelque chose de lisible par l'homme, vous avez besoin d'un convertisseur. Utilisez simplement celui-ci: https://www.epochconverter.com/coredata

J'espère que cela résoudra votre énigme liée à l'histoire.

leondepeon
la source
1
Vous êtes super compagnon !! Fonctionne comme un charme à Mojave aussi !!
Jeeva
2
Les autres solutions ne fonctionnaient pas sur mojave mais cela fonctionne très bien !! Merci beaucoup
mec
S'il échoue, copiez simplement le fichier de base de données dans un autre endroit, ou peut-être que la fermeture du safari est suffisante
Simon
10

J'ai modifié l'oneliner que meonlol a donné ci-dessus. De cette façon, c'est juste une requête SQL pure.

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

Dans Mojave, et peut-être plus tard, l'accès au fichier dans le terminal semble limité. Accordez un accès complet au terminal dans les préférences système ou utilisez le Finder pour l'ouvrir ~/Library/Safari, puis copiez-le History.dbailleurs.

priiiiit
la source
1
+1 lors de la copie de la base de données vers un emplacement en dehors de l'arborescence de la bibliothèque (au moins à Mojave). Semble une étape requise pour accéder à la base de données.
DaveL17
1
Vous pouvez toujours accéder au fichier sur Mojave si vous accordez un accès complet au terminal dans les Préférences Système.
nohillside
1

Ce chemin a changé dans la Sierra

Dans 10.12.6, allez à

/ Utilisateurs / votrenom / Bibliothèque / Caches / Métadonnées / Safari / Historique

user258682
la source
0

Dans Sierra, utilisez simplement le Finder pour rechercher un dossier appelé Safari, puis accédez au dossier Historique et vous pouvez modifier la vue comme indiqué précédemment.

Amanda
la source
0

Je voulais l'URL ainsi que le titre de la fenêtre, plus la possibilité de rechercher ou de sélectionner etc. qui peuvent être ajoutés dans la requête (illustrant la mention de google n'importe où). Dans ce cas, j'ai supprimé toute longue queue d'URL après le caractère esperluette (&). Le tac le remet au plus tard à la fin de la commande. En session 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 révision de la navigation à une date antérieure donnée implique des complexités d'heure et de date, mais cela peut aider, à partir d'une date et d'une heure données, à éditer le 20 janvier 2019 à 15 h 30 selon vos besoins ...

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;'

Donner une sortie comme:

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&

Une dernière note, si vous ouvrez une session sqlite3 pour faire beaucoup de requêtes, j'ai trouvé que la base de données ne semble pas se mettre à jour si vous continuez à utiliser Safari. Peut-être qu'une copie instantanée est utilisée? (Ceci sur El Capitan. Si vous devez faire une copie de fichier sur les versions ultérieures du système d'exploitation, aucune mise à jour ne s'affiche!)

colin
la source