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 todos los demás navegadores que he usado).
NOTA: estoy ejecutando Safari 9.0.3 y El Capitan 10.11.3.
Investigué un poco y encontré algunos archivos en formato ~/Library/Safari
. El archivo de History.db
archivo parece posiblemente prometedor, pero aún no he podido descubrir cómo encontrar la marca de tiempo de esto.
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.
Así que me desperté hoy con mi aplicación de seguimiento del sueño diciéndome que me acosté 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 irme a la cama, pero aparentemente Apple cambió las cosas nuevamente a partir de High Sierra o Safari 11, por lo que las otras respuestas no me funcionaron.
Descubrí cómo obtener los tiempos de visita, y dado que ya fui demasiado lejos para llegar al fondo de este problema sin importancia, pensé en compartir mis hallazgos aquí:
De acuerdo, me dejé llevar un poco más y escribí una sola línea bash 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 redireccionamientos de http) y puede cambiar el último número 30
en 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
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:
/Users/[yourname]/Library/Safari/History.db
.Espero que esto resuelva tu enigma relacionado con la historia.
select datetime(visit_time + 978307200, 'unixepoch', 'localtime') as 'Visit Time',
…. La constante 978307200
es la diferencia en segundos entre la época de Unix (1970-01-01) y la época de Apple (2001-01-01).Could not open database file. Reason: unable to open database file
.Modifiqué el oneliner que meonlol dio arriba. De esta manera, es solo una consulta SQL pura. Esto también incluye URL y exportaciones a CSV.
sqlite3 ~/Library/Safari/History.db \
'SELECT
datetime(V.visit_time+978307200, \"unixepoch\", \"localtime\") AS datetime,
I.url,
V.title
FROM history_visits V
LEFT JOIN history_items I on V.history_item = I.id
ORDER BY visit_time DESC
LIMIT 5000;' -header -csv > safari-history.csv
En Mojave, y posiblemente más adelante, el acceso al archivo en la terminal parece limitado. Otorgue acceso completo a Terminal en Preferencias del sistema o use Finder para abrir ~/Library/Safari
y luego copiar History.db
a otro lugar.
-header -csv > safari_history.csv
al final de esto y guardará el resultado en formato CSVsqlite3 ~/path/to/History.db 'select url from (select date(V.visit_time+978307200, "unixepoch", "localtime") AS date, I.url as url, V.title from history_visits V left join history_items I on V.history_item = I.id where date = "2021-06-25");' -header -csv > ~/safari-history.csv
input=~/path/to/safari-history.csv while read line; do open $line; done < "$input"
Quería la URL, así como el título de la ventana, además de la capacidad de buscar o seleccionar, etc., que se pueden agregar en la consulta (que ilustra la mención de Google en cualquier lugar). En este caso, eliminé cualquier cola larga de URL después del carácter ampersand (&). El tac lo vuelve a poner a la última en el pedido final. En sesión de 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 anterior determinada implica complejidades de hora y fecha, pero esto puede ayudar, a partir de una fecha y hora determinadas, edite2020-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 de sqlite3 para hacer muchas consultas, descubrí que la base de datos no parece actualizarse si continúa usando Safari. ¿Quizás se usa una copia 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!)
Este camino ha cambiado en Sierra
En 10.12.6 ir a
/Usuarios/tunombre/Biblioteca/Cachés/Metadatos/Safari/Historial
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.
Bruno
tama
cabeza de robot
alper