Дивіться час відвідування веб-сайту в історії 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/

Звідси ви можете змінити подання на Перегляд списку та сортувати за датою зміни.


4
все-таки було б добре, якщо Apple попрацює над цим - просте розширення буде корисним, як це для chrome chrome.google.com/webstore/detail/better-history/…
BG Bruno

22

Тому я прокинувся сьогодні, коли в моєму додатку для відстеження сну було сказано, що я лягав спати на годину раніше, ніж я вважав, що це робив, тож, природно, я припускав, що додаток був тим, хто допустив дурну помилку. На щастя, я переглядав Інтернет, перш ніж лягати спати, але, очевидно, Apple знову змінила речі, як у High Sierra або Safari 11, тому інші відповіді не спрацювали для мене.

Я дізнався, як отримати час відвідування, і оскільки я вже далеко пішов, щоб дійти до цього найважливішого питання, я подумав, що поділюся своїми висновками тут:

Редагувати

Гаразд, я захопився ще трохи і написав однотонний лайнер, щоб зробити всю важку роботу за вас. Просто відкрийте термінал і скопіюйте його. Це повинно працювати, не встановлюючи нічого, якщо яблуко ще раз щось не змінило.

Ви можете ігнорувати порожні рядки у висновку (вони є 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. Тепер відсортуйте за візитом і знайдіть те, що вас цікавить.
  5. Ці цифри під стовпцем visit_time - це основна мітка часу даних, тому для отримання читання, зрозумілого для людини, вам потрібен перетворювач. Просто скористайтеся цим: https://www.epochconverter.com/coredata

Сподіваюся, це вирішує вашу загадку, пов’язану з історією.


1
Ви чудовий товариш !! Працює як шарм і в Мохаве !!
Jeeva

2
Інші рішення не працювали на mojave, але це працює чудово !! Дякую тобі, товариш :)
Flaming_Dorito

Якщо це не вдалося просто скопіювати файл бази даних в інше місце, або, можливо, достатньо закрити сафарі
Саймон

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

У Mojave і, можливо, пізніше доступ до файлу в терміналі видається обмеженим. Будь ласка, надайте повний доступ до Терміналу в системних налаштуваннях або використовуйте Finder, щоб відкрити ~/Library/Safariта скопіювати History.dbдесь в іншому місці.


1
+1 про копіювання бази даних до місця поза деревом бібліотеки (принаймні, у Mojave). Здається необхідним кроком для доступу до бази даних.
DaveL17

1
Ви все одно можете отримати доступ до файлу в Mojave, якщо надати Терміналу повний доступ у системних налаштуваннях.
nohillside

1

Цей шлях змінився в Сьєррі

У 10.12.6 перейти до

/ Користувачі / ваше ім’я / Бібліотека / Кеші / Метадані / Сафарі / Історія


0

Зараз у Сьєррі просто використовуйте Finder для пошуку папки під назвою Safari, потім перейдіть до папки «Історія», і ви зможете змінити вигляд, як згадувалося раніше.


0

Я хотів, щоб URL-адреса, а також заголовок вікна, а також можливість пошуку або вибору тощо, які можна додати в запит (ілюструючи згадку про Google в будь-якому місці). У цьому випадку я видалив будь-який довгий хвіст URL-адреси після символу ampersand (&). 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. Якщо вам доведеться зробити копію файлу на пізніших версіях ОС, очевидно, оновлення не відображаються!)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.