iOSデバイスまたはMacからSafariの履歴と検索を抽出する方法
iPhone Backup Extractorを使うと、Apple標準アプリのデータにアクセスできます。Safariの履歴を復旧したい場合や、最近行った検索を確認したい場合の手順を、ほかの操作とあわせて紹介します。
iPhone Backup Extractorで「App view」に移動し、Safariアプリを選択して、すべてのファイルを抽出します。

iPhone Backup ExtractorでSafariのデータを調べる
抽出したファイルの一部に、拡張子が.plistのものがあることに気づくかもしれません。これらのファイルは、iPhone Backup ExtractorのFileメニューからView / Edit PListをクリックすると、表示・編集できます。表示したいファイルを選択して、Openをクリックします。

Plistファイルを開く
Safariの閲覧履歴を確認するには、History.dbファイルを開きます。
Safariで最近行った検索を確認するには、RecentSearches.plistファイルを開きます。
iPhoneやiPad、または同じiCloudアカウントを共有するMacで履歴が削除される前のバックアップがあれば、削除されたデータをすべて確認できます。便利ですよね。
次のスクリーンショットは、iPhone Backup Extractorで抽出した最近の検索ファイルです。検索クエリはタグの間にあります。

Safariの最近の検索と履歴
iTunesバックアップからSafariのブックマークを取得するには
お気に入りのWebサイトをブックマークしておくことがどれほど大切かは、よく知られています。では、iPhone、iPad、iPodのブックマークを失ったり、削除したりした場合はどうなるのでしょうか。iOSデバイスをiTunesでバックアップしていれば、復旧できる可能性があります。ここでは、iPhone Backup Extractorを使った方法を紹介します。
ブックマークは、WhatsAppのメッセージ、連絡先、SMSなどの重要なデータとともにiPhoneバックアップに保存されており、適切なツールを使えば簡単に読み取れます。特に、iPhone Backup Extractorは、Safariがブックマークの保存に使うbookmarks.dbを抽出できます。
このファイルには、次の手順でアクセスできます。
- iPhone Backup Extractorを開き、ブックマークを抽出したいバックアップを選択します
- 「Expert Mode」を選択します
Libraryフォルダに移動し、Safariサブフォルダに進みますbookmarks.dbファイルを選択します- 「Extract selected」ボタンをクリックし、
bookmarks.dbファイルを保存するフォルダを選択します

Safariのブックマークを復旧する
Safariのブックマークデータベースを読み取る方法
難しいことではないので、心配はいりません。このデータベースファイルはSQLite形式のため、読み取るには別のツールが必要です。下の注記に、おすすめのSQLite閲覧ツールへのリンクがあります。ここでは、Mozillaのアドオン「SQLite Manager」を使っているものとして進めます。
バックアップファイルの内部データの扱いについては、SQLiteファイルとPlistファイルの記事で詳しく説明しています。

SQLite Manager
SQLite Managerを開き、抽出したbookmarks.dbファイルを開きます。.dbファイルが表示されて開けるように、「All files」オプションを選択してください。

Safariのブックマークデータベースにクエリを実行する
データベースが開いたら、bookmarksデータベースを選択します。titleとURLフィールドが表示され、ブックマークの内容を確認できます。これで、すべてのブックマークが表示されます。
SQLを試して、2つのフィールドだけを表示したい場合は、次のクエリを使います。
SELECT title, url FROM bookmarks
これを「Execute the SQL file」タブで実行します。この方法なら、結果をCSVとして保存することもできます。
Safariのリーディングリストを読み取る方法
bookmarksテーブルには、Safariのリーディングリストも含まれています。リーディングリストは、列extra_attributesに値がないことでブックマークと区別できます。そのため、次のクエリを使えます。
SELECT url,title
FROM bookmarks
WHERE url NOT LIKE '' and extra_attributes NOT LIKE '';

Safariのブックマークとリーディングリストのデータベースを抽出する
iTunesバックアップからSafariで開いていたタブを復旧する方法
iPhone、iPad、iPodでSafariの開いていたタブを失った場合も、iOSデバイスをiTunesでバックアップしていれば復旧できる可能性があります。ここでは、iPhone Backup Extractorを使った方法を紹介します。
Safariで開いていたタブは、BrowserState.dbというデータベースファイルに保存されています。このファイルには、次の手順でアクセスできます。
- iPhone Backup Extractorを開き、開いていたタブを抽出したいバックアップを選択します
- 「Expert Mode」タブを選択します
- iOS 13より前のバックアップの場合は、
Applicationsフォルダに移動し、com.apple.mobilesafari→Safariを展開します - iOS 13以降のバックアップの場合は、
Homeフォルダに移動し、Library→Safariを展開します BrowserState.dbファイルを選択します- 「Extract selected」ボタンをクリックし、
BrowserState.dbファイルを保存するフォルダを選択します

SafariのBrowserStateデータベースを抽出する
Safariで開いていたタブのデータベースを読み取る方法
BrowserState.dbデータベースファイルはSQLite形式のため、読み取るには別のツールが必要です。この例ではDB Browser for SQLiteを使いますが、お好みのSQLiteビューア/エディタを使えます。
- DB Browser for Sqliteを開き、抽出した
BrowserState.dbファイルを開きます。 Browse dataタブに移動し、tabsテーブルを選択します

SQLiteエディタでSafariのBrowserStateデータベースにクエリを実行する
上のスクリーンショットのとおり、データベースのlast_viewd_time列はUnixタイムスタンプ形式です。日時形式に変換したい場合は、次のSQLコマンドを使えます。
SELECT id, title, url, datetime(last_viewed_time, 'unixepoch', '31 years', 'localtime') AS timestamp FROM tabs
DB BrowserのFileメニュー → Export → Table(s) as CSV fileを使って、Safariで開いていたタブをCSVファイルにエクスポートすることもできます。
うまくいかない場合は、ライブチャット、またはメールでお問い合わせください。できる限りお手伝いします。
