Lihat waktu kunjungan situs web dalam riwayat Safari

21

Saya mencoba mencari cara menentukan waktu situs web dikunjungi dalam riwayat Safari. (Saya tidak bisa membayangkan mengapa ini tidak mudah dilakukan seperti pada setiap browser lain yang pernah saya gunakan).

CATATAN: Saya menjalankan Safari 9.0.3 dan El Capitan 10.11.3.

Saya sudah melakukan riset dan menemukan beberapa file di ~/Library/Safari. File History.dbfile terlihat menjanjikan tetapi saya belum bisa menemukan cara menemukan cap waktu dari ini.

Darren
sumber

Jawaban:

16

Saya baru saja mencoba ini di 10.11.4 dan berhasil; Anda bisa melihat sejarahnya. Jika seseorang menghapus cache, ini hilang.

Pergi ke lokasi berikut:

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

Dari sini Anda dapat mengubah tampilan menjadi Tampilan Daftar dan mengurutkan berdasarkan Tanggal Diubah.

fsb
sumber
3
masih akan lebih baik jika Apple mengerjakan beberapa hal di sini - ekstensi sederhana akan sangat membantu seperti ini untuk chrome chrome.google.com/webstore/detail/better-history/…
BG Bruno
22

Jadi saya bangun hari ini ke aplikasi pelacak tidur saya mengatakan bahwa saya pergi tidur satu jam lebih awal dari yang saya kira saya lakukan, jadi tentu saja saya menganggap aplikasi itu yang membuat kesalahan bodoh. Untungnya saya menjelajahi web sebelum tidur, tetapi ternyata Apple mengubah hal-hal lagi seperti High Sierra atau Safari 11 sehingga jawaban lain tidak bekerja untuk saya.

Saya menemukan cara mendapatkan waktu kunjungan, dan karena saya sudah melangkah jauh untuk sampai ke dasar masalah yang sangat tidak penting ini, saya pikir saya akan membagikan temuan saya di sini:

Edit

Oke jadi saya terbawa lebih sedikit dan menulis bash one-liner untuk melakukan semua kerja keras untuk Anda. Cukup buka terminal dan salin lalu lewati. Ini akan berfungsi tanpa harus menginstal apa pun, kecuali apel telah mengubah sesuatu lagi untuk sementara waktu.

Anda dapat mengabaikan baris kosong di output (mereka adalah http-redirects) dan Anda dapat mengubah angka terakhir 30dalam perintah untuk memfilter jumlah baris yang ingin Anda lihat.

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

Jawaban asli

Jadi alih-alih memiliki folder sederhana dengan semua riwayat seperti sebelumnya, mereka sekarang menulis sejarah ke dalam basis data. Inilah cara Anda mendapatkan info jika Anda benar-benar ingin:

  1. Data sekarang disimpan dalam Database SQLite, jadi Anda akan memerlukan beberapa alat untuk membacanya. Saya menyarankan Browser DB untuk SQLite . Instal saja dengan cara biasa.
  2. Sekarang buka file database. Hal ini terletak di sini: /Users/[yourname]/Library/Safari/History.db.
  3. Di Browse Data Tab klik Tabel: dropdown dan pilih history_visits . Tangkapan layar History_visits
  4. Sekarang, urutkan berdasarkan visit_time dan temukan hal yang Anda minati.
  5. Angka-angka di bawah kolom visit_time adalah Timestamp Data Inti, jadi untuk mendapatkan sesuatu yang dapat dibaca manusia Anda memerlukan konverter. Cukup gunakan yang ini: https://www.epochconverter.com/coredata

Semoga ini bisa memecahkan teka-teki terkait sejarah Anda.

Leondepeon
sumber
1
Kamu teman yang luar biasa !! Bekerja seperti pesona di Mojave juga !!
Jeeva
2
Solusi lain tidak bekerja pada mojave tetapi ini bekerja hebat !! Terima kasih banyak sobat :)
Flaming_Dorito
Jika gagal cukup salin file database ke tempat lain, atau mungkin menutup safari sudah cukup
Simon
10

Saya memodifikasi oneliner yang diberikan meonlol di atas. Dengan cara ini, itu hanya query SQL murni.

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

Di Mojave, dan mungkin nanti, mengakses file di terminal tampaknya terbatas. Entah memberikan akses penuh ke Terminal di System Preferences atau gunakan Finder untuk membuka ~/Library/Safarilalu menyalin History.dbke tempat lain.

priiiiit
sumber
1
+1 pada penyalinan basis data ke lokasi di luar pohon Perpustakaan (setidaknya di Mojave). Tampak langkah yang diperlukan untuk mengakses database.
DaveL17
1
Anda masih dapat mengakses file di Mojave jika Anda memberi Terminal akses penuh di System Preferences.
nohillside
1

Jalur ini telah berubah di Sierra

Di 10.12.6 pergi ke

/ Pengguna / namamu / Perpustakaan / Tembolok / Metadata / Safari / Sejarah

pengguna258682
sumber
0

Di Sierra sekarang cukup gunakan Finder untuk mencari folder bernama Safari, lalu masuk ke folder History, dan Anda dapat mengubah tampilan seperti disebutkan sebelumnya.

Amanda
sumber
0

Saya ingin URL serta judul jendela, ditambah kemampuan untuk mencari atau memilih dll yang dapat ditambahkan dalam kueri (menggambarkan penyebutan google di mana saja). Dalam hal ini saya telah menghapus ekor panjang URL setelah karakter ampersand (&). Tac memasukkannya kembali paling akhir di urutan akhir. Dalam sesi 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

Meninjau penjelajahan pada tanggal yang lalu melibatkan kompleksitas waktu & tanggal, tetapi ini dapat membantu, dari tanggal dan waktu tertentu, edit2020-01-19 15:30 untuk kebutuhan Anda ...

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

Memberikan output seperti:

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&

Satu catatan terakhir, jika Anda membuka sesi sqlite3 untuk melakukan banyak pertanyaan, saya menemukan bahwa basis data tampaknya tidak memperbarui jika Anda terus menggunakan Safari. Mungkin salinan foto digunakan? (Ini pada El Capitan. Jika Anda harus membuat salinan file pada versi OS yang lebih baru, jelas tidak ada pembaruan yang ditampilkan!)

colin
sumber