Смотрите время посещения сайта в истории Safari

21

Я пытаюсь выяснить, как определить время посещения веб-сайтов в истории Safari. (Я не могу себе представить, почему это не так просто сделать, как в любом другом браузере, который я когда-либо использовал).

ПРИМЕЧАНИЕ: я использую Safari 9.0.3 и El Capitan 10.11.3.

Я провел некоторое исследование и нашел несколько файлов в ~/Library/Safari. Файл History.dbфайла выглядит, возможно, многообещающим, но я еще не смог выяснить, как найти временную метку из этого.

Даррен
источник

Ответы:

16

Я только что попробовал это в 10.11.4, и это работает; Вы можете увидеть историю. Если кто-то очистит кеш, это исчезнет.

Перейти в следующее место:

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

Отсюда вы можете изменить представление на представление списка и отсортировать по дате изменения.

ФСБ
источник
3
Тем не
Б. Г. Бруно,
22

Итак, я проснулся сегодня в своем приложении для отслеживания сна, сообщая, что я лег спать на час раньше, чем я думал, поэтому, естественно, я предположил, что приложение было тем, кто совершил глупую ошибку. К счастью, перед тем, как лечь спать, я просмотрел Интернет, но, очевидно, Apple снова изменила положение вещей, начиная с High Sierra или Safari 11, поэтому другие ответы мне не помогли.

Я узнал, как узнать время посещения, и, поскольку я уже прошел путь далеко, чтобы разобраться в этом крайне неважном вопросе, я решил поделиться своими выводами здесь:

редактировать

Итак, я немного увлекся и написал однострочник bash, чтобы сделать всю тяжелую работу за вас. Просто откройте терминал и скопируйте его. Он должен работать без установки чего-либо, если только Apple не изменила что-то в это время.

Вы можете игнорировать пустые строки в выводе (они являются http-перенаправлениями), и вы можете изменить последний номер 30в команде, чтобы отфильтровать количество строк, которые вы хотите видеть.

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

Оригинальный ответ

Таким образом, вместо простой папки со всей историей, как раньше, теперь они записывают историю в базу данных. Вот как вы получаете информацию, если действительно хотите:

  1. Теперь данные хранятся в базе данных SQLite, поэтому вам понадобится какой-нибудь инструмент для их чтения. Я предлагаю браузер БД для SQLite . Просто установите его обычным способом.
  2. Теперь откройте файл базы данных. Он находится здесь: /Users/[yourname]/Library/Safari/History.db.
  3. На вкладке « Обзор данных» щелкните раскрывающийся список « Таблица:» и выберите историю_ посещений . Скриншот History_visits
  4. Теперь сортируйте по visit_time и найдите то, что вас интересует.
  5. Эти числа в столбце visit_time представляют собой временную метку базовых данных, поэтому, чтобы получить что- то понятное человеку, вам нужен конвертер. Просто используйте это: https://www.epochconverter.com/coredata

Надеюсь, что это решает вашу загадку, связанную с историей.

leondepeon
источник
1
Вы классный друг !! Работает как шарм в Мохаве тоже!
Джива
2
Другие решения не работали над mojave, но это прекрасно работает !! Большое спасибо, приятель :)
Flaming_Dorito
Если это не удается, просто скопируйте файл базы данных в другое место, или, может быть, достаточно закрыть сафари
Simon
10

Я изменил тот вкладыш, который дал меонлол. Таким образом, это просто чистый запрос SQL.

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

В Мохаве, а возможно и позже, доступ к файлу в терминале кажется ограниченным. Либо предоставьте полный доступ к терминалу в системных настройках, либо используйте Finder, чтобы открыть, ~/Library/Safariа затем скопировать History.dbв другое место.

priiiiit
источник
1
+1 за копирование базы данных в место за пределами дерева библиотеки (по крайней мере, в Мохаве). Кажется необходимым шагом для доступа к базе данных.
DaveL17
1
Вы по-прежнему можете получить доступ к файлу в Mojave, если вы предоставите терминалу полный доступ в Системных настройках.
nohillside
1

Этот путь изменился в Сьерре

В 10.12.6 перейти к

/ Users / вашеимя / Библиотека / кэши / Метаданные / Safari / История

user258682
источник
0

В Sierra теперь просто используйте Finder для поиска папки с именем Safari, затем перейдите в папку «Журнал», и вы можете изменить вид, как упоминалось ранее.

Аманда
источник
0

Я хотел URL-адрес, а также заголовок окна, а также возможность поиска или выбора и т. Д., Которые можно добавить в запрос (иллюстрирующий упоминание Google в любом месте). В этом случае я удалил любой длинный хвост URL после амперсанда (&) char. Tac помещает его обратно в последний в конце заказа. В терминальной сессии:

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

Просмотр просмотра за определенную дату включает в себя сложности времени и даты, но это может помочь, начиная с указанной даты и времени, отредактировать 2020-01-19 15:30 для вашей потребности ...

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

Давать вывод как:

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&

И последнее замечание: если вы откроете сеанс sqlite3 для выполнения большого количества запросов, я обнаружил, что база данных не обновляется, если вы продолжаете использовать Safari. Может быть, используется копия снимка? (Это на El Capitan. Если вам нужно сделать копию файла на более поздних версиях ОС, обновления, очевидно, не показываются!)

Colin
источник