Ver el tiempo de visita al sitio web en el historial de Safari

21

Estoy tratando de averiguar cómo determinar la hora en que se visitaron los sitios web en el historial de Safari. (No puedo imaginar por qué esto no es fácil de hacer como en cualquier otro navegador que haya usado).

NOTA: estoy ejecutando Safari 9.0.3 y El Capitan 10.11.3.

Investigué un poco y encontré algunos archivos ~/Library/Safari. El archivo de History.dbarchivo parece posiblemente prometedor, pero todavía no he podido encontrar la forma de encontrar la marca de tiempo.

Darren
fuente

Respuestas:

16

Acabo de probar esto en 10.11.4 y funciona; Puedes ver la historia. Si alguien borra el caché, esto desaparece.

Vaya a la siguiente ubicación:

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

Desde aquí puede cambiar la vista a Vista de lista y ordenar por Fecha de modificación.

fsb
fuente
3
aún así sería bueno si Apple trabajara un poco en esto: una extensión simple sería útil como esta para chrome chrome.google.com/webstore/detail/better-history/…
BG Bruno
22

Así que me desperté hoy con mi aplicación de seguimiento del sueño diciéndome que me fui a la cama una hora antes de lo que pensaba, así que naturalmente asumí que la aplicación fue la que cometió el estúpido error. Afortunadamente, había navegado por la web antes de acostarme, pero aparentemente Apple cambió las cosas nuevamente a partir de High Sierra o Safari 11, por lo que las otras respuestas no funcionaron para mí.

Descubrí cómo obtener los horarios de las visitas, y dado que fui demasiado lejos para llegar al fondo de este problema tan poco importante, pensé en compartir mis hallazgos aquí:

Editar

Bien, entonces me dejé llevar un poco más y escribí un bash one-liner para hacer todo el trabajo duro por ti. Simplemente abra el terminal y cópielo. Debería funcionar sin tener que instalar nada, a menos que Apple haya cambiado algo nuevamente mientras tanto.

Puede ignorar las líneas vacías en la salida (son redirecciones http) y puede cambiar el último número 30en el comando para filtrar la cantidad de líneas que desea ver.

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

Respuesta original

Entonces, en lugar de tener una carpeta simple con todo el historial como antes, ahora escriben el historial en una base de datos. Así es como obtienes la información si realmente quieres:

  1. Los datos ahora se almacenan en una base de datos SQLite, por lo que necesitará alguna herramienta para leer eso. Sugiero el navegador DB para SQLite . Simplemente instálelo de la manera habitual.
  2. Ahora abra el archivo de base de datos. Se encuentra aquí: /Users/[yourname]/Library/Safari/History.db.
  3. En la pestaña Examinar datos, haga clic en el menú desplegable Tabla: y seleccione history_visits . Captura de pantalla de History_visits
  4. Ahora, ordene por visit_time y encuentre lo que le interesa.
  5. Esos números debajo de la columna visit_time son una marca de tiempo de datos centrales, por lo que para obtener algo legible para los humanos, necesita un convertidor. Simplemente use este: https://www.epochconverter.com/coredata

Espero que esto resuelva tu enigma relacionado con la historia.

leondepeon
fuente
1
¡Eres un compañero increíble! ¡Funciona como un encanto en Mojave también!
Jeeva
2
Las otras soluciones no funcionaban en mojave, ¡pero esto funciona muy bien! Muchas gracias amigo :)
Flaming_Dorito
Si falla, simplemente copie el archivo de la base de datos a otro lugar, o tal vez cerrar el safari sea suficiente
Simon
10

Modifiqué el oneliner que meonlol dio arriba. De esta manera, es solo una consulta SQL pura.

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

En Mojave, y posiblemente más tarde, el acceso al archivo en la terminal parece limitado. O bien otorgue acceso completo a la Terminal en las Preferencias del Sistema o use el Finder para abrir ~/Library/Safariy luego copie History.dben otro lugar.

priiiiit
fuente
1
+1 al copiar la base de datos a una ubicación fuera del árbol de la Biblioteca (al menos en Mojave). Parece un paso requerido para acceder a la base de datos.
DaveL17
1
Aún puede acceder al archivo en Mojave si le otorga acceso completo a la Terminal en las Preferencias del Sistema.
nohillside
1

Este camino ha cambiado en Sierra

En 10.12.6 ir a

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

usuario258682
fuente
0

En Sierra ahora solo use Finder para buscar una carpeta llamada Safari, luego vaya a la carpeta Historial y podrá cambiar la vista como se mencionó anteriormente.

Amanda
fuente
0

Quería la URL, así como el título de la ventana, además de la capacidad de buscar o seleccionar, etc., que se puede agregar en la consulta (ilustrando la mención de Google en cualquier lugar). En este caso, he eliminado cualquier cola larga de URL después de ampersand (&) char. El tac lo vuelve a colocar en el último al final del pedido. En sesión terminal:

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

Revisar la navegación en una fecha pasada dada implica complejidades de fecha y hora, pero esto puede ayudar, desde una fecha y hora dada, editar2020-01-19 15:30 para su necesidad ...

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

Dando salida como:

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&

Una última nota, si abre una sesión sqlite3 para hacer muchas consultas, descubrí que la base de datos no parece actualizarse si continúa utilizando Safari. Tal vez se utiliza una copia de la instantánea? (Esto en El Capitán. Si tiene que hacer una copia de archivo en versiones posteriores del sistema operativo, obviamente, no se muestran actualizaciones).

colin
fuente