6

Googleロケーション履歴を定期的に保存したい.

通常、私は Web インターフェースを使用します: https://maps.google.com/locationhistory/b/0

また、次のようなデータをエクスポートするためのリンクも提供します。

https://maps.google.com/locationhistory/b/0/kml?startTime=1376604000000&endTime=1376690400000

WGET または curl を使用してログインするなど、このリンク (およびそれに応じて修正されたタイムスタンプ) を毎日ダウンロードするにはどうすればよいですか?

単純にそれが私にもたらしたwget302 Moved Temporarily

4

2 に答える 2

10

302 Moved Temporarily認証が必要なため、Google からログイン ページにリダイレクトされます。

認証されると、Google 資格情報はブラウザの Cookie に保存されます。Google マップのロケーション履歴リンクをダウンロードする場合は、ブラウザの Cookie にcurl. の-bオプションcurlを使用すると、 Netscape/Mozilla Cookie ファイル形式cookies.txtに関して を使用できます。

の各行には、cookies.txtタブで区切られた 7 つのフィールドがあります。

  • domain - 変数を読み取ることができる AND を作成したドメイン。
  • flag - 特定のドメイン内のすべてのマシンが変数にアクセスできるかどうかを示す TRUE/FALSE 値。この値は、ドメインに設定した値に応じて、ブラウザーによって自動的に設定されます。
  • path - 変数が有効なドメイン内のパス。
  • * secure - 変数にアクセスするためにドメインとの安全な接続が必要かどうかを示す TRUE/FALSE 値。
  • 有効期限- 変数の有効期限が切れる UNIX 時間。UNIX 時間は、1970 年 1 月 1 日 00:00:00 GMT からの秒数として定義されます。
  • name - 変数の名前。
  • value - 変数の値。

したがって、最も簡単な解決策は、ブラウザの Cookie をcookies.txtファイルにエクスポートし、curlそれらを使用するように指示することです。Chrome では、Cookie は sqlite3 データベースに保存されます。次のコマンドでそれらをエクスポートできます。

sqlite3 ~/.config/google-chrome/Default/Cookies \
    'select host_key, "TRUE", path, "FALSE", expires_utc, name, value from cookies where host_key like "%google.com"' \
    | tr '|' '\t' > /tmp/cookies.txt

host_key like "%google.com"エクスポートされた Cookie を制限することに注意してください。

で呼び出しcurl-b /tmp/cookies.txt、エクスポートされた Cookie を使用し、Google マップを認証すると、Google マップのロケーション履歴をダウンロードできるようになります

curl -b /tmp/cookies.txt https://maps.google.com/locationhistory/b/0/kml\?startTime\=1376604000000\&endTime\=1376690400000

Cookie を一時ファイルに保存しないようにするには、次のコマンドを使用します。

curl -b <(sqlite3 ~/.config/google-chrome/Default/Cookies 'select host_key, "TRUE", path, "FALSE", expires_utc, name, value from cookies' | tr '|' '\t') https://maps.google.com/locationhistory/b/0/kml\?startTime\=1376604000000\&endTime\=1376690400000
于 2013-08-20T08:14:06.177 に答える
2

これに遅れて返信しますが、これは他の誰かにも役立つかもしれません:

Cookie をエクスポートするもう 1 つの簡単な方法は、最初に Google のユーザー名とパスワードを使用して Chrome にログインし、次にこの拡張機能のエクスポート Cookieを使用して Cookie をファイルにエクスポートすることです。その後、このファイルを wget で使用して、次のような --load-cookies オプションを使用してドキュメントをダウンロードできます。

wget --user-agent="Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:25.0) Gecko/20100101 Firefox/25.0 FirePHP/0.7.4"   --load-cookies cookie.txt -p --keep-session-cookies "http://google.com/"
于 2013-12-17T13:17:21.843 に答える