Xem thời gian truy cập trang web trong lịch sử Safari


21

Tôi đang cố gắng tìm ra cách xác định thời gian các trang web được truy cập trong lịch sử Safari. (Tôi không thể tưởng tượng được tại sao điều này không dễ thực hiện như trong mọi trình duyệt khác mà tôi từng sử dụng).

LƯU Ý: Tôi đang chạy Safari 9.0.3 và El Capitan 10.11.3.

Tôi đã thực hiện một số nghiên cứu và tìm thấy một số tập tin trong ~/Library/Safari. Tệp History.dbtệp có vẻ hứa hẹn nhưng tôi chưa thể tìm ra cách tìm dấu thời gian từ đây.

Câu trả lời:


16

Tôi mới thử cái này trong 10.11.4 và nó hoạt động; bạn có thể xem lịch sử Nếu ai đó xóa bộ nhớ cache, điều này sẽ biến mất.

Đi đến vị trí sau:

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

Từ đây, bạn có thể thay đổi chế độ xem thành Chế độ xem danh sách và sắp xếp theo Ngày đã sửa đổi.


3
Tuy nhiên, sẽ rất tuyệt nếu Apple thực hiện một số điều này - tiện ích mở rộng đơn giản sẽ hữu ích như thế này cho chrome chrome.google.com.vn/webstore/detail/better-history/ trộm
BG Bruno

22

Vì vậy, hôm nay tôi thức dậy với ứng dụng theo dõi giấc ngủ của mình nói với tôi rằng tôi đã đi ngủ sớm hơn một giờ so với tôi nghĩ, vì vậy tôi tự nhiên cho rằng ứng dụng là người đã phạm sai lầm ngu ngốc. May mắn là tôi đã lướt web trước khi đi ngủ, nhưng rõ ràng Apple đã thay đổi mọi thứ một lần nữa như High Sierra hoặc Safari 11 vì vậy những câu trả lời khác không phù hợp với tôi.

Tôi đã tìm ra cách để có được thời gian truy cập và vì tôi đã đi xa để đi đến tận cùng của vấn đề rất quan trọng này, tôi nghĩ tôi muốn chia sẻ những phát hiện của mình ở đây:

Biên tập

Được rồi vì vậy tôi đã mang đi thêm một chút và viết một bash one-liner để làm tất cả công việc khó khăn cho bạn. Chỉ cần mở thiết bị đầu cuối và sao chép nó qua. Nó sẽ hoạt động mà không phải cài đặt bất cứ thứ gì, trừ khi apple đã thay đổi một cái gì đó trong thời gian trung bình.

Bạn có thể bỏ qua các dòng trống trong đầu ra (chúng là các chuyển hướng http) và bạn có thể thay đổi số cuối cùng 30trong lệnh để lọc số lượng dòng bạn muốn xem.

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

Câu trả lời gốc

Vì vậy, thay vì có một thư mục đơn giản với tất cả lịch sử như trước đây, giờ đây họ viết lịch sử vào cơ sở dữ liệu. Đây là cách bạn có được thông tin nếu bạn thực sự muốn:

  1. Dữ liệu hiện được lưu trữ trong Cơ sở dữ liệu SQLite, vì vậy bạn sẽ cần một số công cụ để đọc dữ liệu đó. Tôi đề nghị Trình duyệt DB cho SQLite . Chỉ cần cài đặt nó theo cách thông thường.
  2. Bây giờ hãy mở tệp cơ sở dữ liệu. Nó nằm ở đây : /Users/[yourname]/Library/Safari/History.db.
  3. Trong tab Duyệt dữ liệu, bấm vào Bảng: thả xuống và chọn history_visits . Ảnh chụp màn hình History_visits
  4. Bây giờ, sắp xếp theo visit_time và tìm thứ bạn quan tâm.
  5. Các số trong cột visit_time là Dấu thời gian Dữ liệu cốt lõi, vì vậy để có được thứ gì đó dễ đọc với con người, bạn cần có bộ chuyển đổi. Chỉ cần sử dụng cái này: https://www.epochconverter.com/coredata

Hy vọng điều này giải quyết câu hỏi hóc búa liên quan đến lịch sử của bạn.


1
Bạn là người bạn đời tuyệt vời !! Hoạt động như một bùa mê trong Mojave quá !!
Jeeva

2
Các giải pháp khác không hoạt động trên mojave nhưng điều này hoạt động rất tốt !! Cảm ơn bạn rất nhiều :)
Flaming_Dorito

Nếu thất bại, chỉ cần sao chép tệp cơ sở dữ liệu sang nơi khác hoặc có thể đóng safari là đủ
Simon

10

Tôi đã sửa đổi oneliner mà meonlol đưa ra ở trên. Cách này chỉ là truy vấn SQL thuần túy.

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

Trong Mojave, và có thể sau này, việc truy cập tệp trong thiết bị đầu cuối dường như bị hạn chế. Hoặc là cấp quyền truy cập đầy đủ đến nhà ga trong System Preferences hoặc sử dụng Finder để mở ~/Library/Safarivà sau đó sao chép History.dbđến một nơi khác.


1
+1 khi sao chép cơ sở dữ liệu vào một vị trí bên ngoài cây Thư viện (ít nhất là trong Mojave). Có vẻ là một bước cần thiết để truy cập cơ sở dữ liệu.
DaveL17

1
Bạn vẫn có thể truy cập tệp trên Mojave nếu bạn cấp quyền truy cập đầy đủ cho Terminal trong Tùy chọn hệ thống.
nohillside

1

Con đường này đã thay đổi ở Sierra

Trong 10.12.6 đi đến

/ Người dùng / tên của bạn / Thư viện / Bộ nhớ cache / Siêu dữ liệu / Safari / Lịch sử


0

Ở Sierra bây giờ chỉ cần sử dụng Finder để tìm kiếm thư mục có tên Safari, sau đó vào thư mục Lịch sử và bạn có thể thay đổi chế độ xem như đã đề cập trước đó.


0

Tôi muốn URL cũng như tiêu đề cửa sổ, cộng với khả năng tìm kiếm hoặc chọn vv có thể được thêm vào trong truy vấn (minh họa đề cập đến google ở ​​bất cứ đâu). Trong trường hợp này, tôi đã xóa bất kỳ đuôi URL dài nào sau ký hiệu (&) char. Tac đặt nó trở lại mới nhất ở thứ tự cuối. Trong phiên cuối:

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

Xem xét duyệt web vào một ngày đã qua liên quan đến sự phức tạp về thời gian và ngày nhưng điều này có thể giúp ích, từ một ngày và thời gian nhất định, chỉnh sửa2020-01-19 15:30 cho nhu cầu của bạn ...

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

Cho đầu ra như:

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&

Một lưu ý cuối cùng, nếu bạn mở một phiên sqlite3 để thực hiện nhiều truy vấn tôi thấy rằng cơ sở dữ liệu dường như không cập nhật nếu bạn tiếp tục sử dụng Safari. Có lẽ một bản sao chụp được sử dụng? (Điều này trên El Capitan. Nếu bạn phải tạo một bản sao tệp trên các phiên bản HĐH mới hơn rõ ràng không có bản cập nhật nào hiển thị!)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.