2013-08-17 33 views
7

Google konum geçmişimi düzenli olarak kaydetmek istiyorum. https://maps.google.com/locationhistory/b/0Google konum geçmişinizi WGET yapın

o da bunun gibi görünüyor veri vermek için bir bağlantı sağlar

: Ben bu bağlantıyı indirebilirsiniz Nasıl

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

(ve uygun zaman damgalarını sabit

Genellikle Webinterface kullanmak) günlük WGET veya curl kullanarak giriş dahil olmak üzere? Google, oturum açma sayfasına yönlendiren: Eğer kimlik doğrulaması gerekiyor, çünkü

Basitçe Bir 302 Moved Temporarily olsun bana bir 302 Moved Temporarily

+0

sen ('--max-redirect' kullanarak wget Yönlendermelerin sınırlayıcı musunuz, varsayılan 20 veya şeydir). CURL'de -L' (veya '--location'), yönlendirmeleri takip etmesini istemek için kullanılır. – Sithsu

+0

Varsayılan değeri kullandım ve özellikle hiçbirini ayarlamadım. – Harry

+0

Şu anda böyle bir çözüm üzerinde çalışıyorum: http://pmsenthilkumar.blogspot.de/2012/01/google-api-using-curl-or-wget- füzyon tabloları için or-plain.html – Harry

cevap

10

getirdi wget.

Kimlik doğrulaması yapıldıktan sonra, google kimlik bilgileri tarayıcı çerezlerinde depolanır. Google maps konum geçmişi bağlantısını indirmek isterseniz, curl ile tarayıcı çerezleri sağlamanız gerekir. seçeneği curl, Netscape/Mozilla cookie file format'a göre cookies.txt'u kullanmanıza olanak tanır. - oluşturulan VE o değişkeni okuyabilir domain

  • alanı:

    cookies.txt her satırında yedi sekme ayrılmış alana sahiptir.

  • flag - Belirli bir etki alanındaki tüm makinelerin değişkene erişebileceğini belirten TRUE/FALSE değeri. Bu değer, alan adı için belirlediğiniz değere bağlı olarak tarayıcı tarafından otomatik olarak ayarlanır.
  • path - Değişkenin geçerli olduğu etki alanındaki yol.
  • güvenli - Değişkene erişmek için etki alanıyla güvenli bir bağlantıya gerek olup olmadığını belirten bir TRUE/FALSE değeri *.
  • ekspiration - Değişkenin süresinin dolduğu UNIX süresi. UNIX zamanı, 1 Ocak 1970 00:00:00 GMT'den bu yana geçen saniye sayısı olarak tanımlanır.
  • name - Değişkenin adı.
  • değeri - Değişkenin değeri.

Yani basit çözüm bir cookies.txt dosyaya tarayıcı çerezlerini dışa ve bunları kullanmak için curl bilgilendirmektir. Chrome'da çerezler bir sqlite3 veritabanında depolanır. Aşağıdaki komutla dışa aktarabilirsiniz:

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 

Not ihraç çerezleri sınırlar host_key like "%google.com".

çağırır curl-b /tmp/cookies.txt ile ihraç çerezleri kullanmak ve haritaları googles için kimlik doğrulaması ve indirmek mümkün olacak google konum geçmişi

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

bu komutu kullanın geçici dosyasında saklamak çerezleri önlemek için haritalar :

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 
+0

vay - bir charme gibi çalışır! Girişinizden sonra – Harry

+1

kml elde etmek kolaydır. Link oluşturma da (günde 86400 sn.) Vay canına, bu işe çok sevindim. Çok teşekkür ederim, bir kereden fazla ödül kazandınız. – Harry

+0

Size yardım ettiğine sevindim – cbliard

2

geç bu konuda yanıtlama, ancak bu da yardımcı olacaktır olabilir başkası:

Çerezleri dışa aktarmanın bir diğer kolay yolu da, google kullanıcı adı ve şifresini kullanarak kromda oturum açmaktır. Daha sonra bu çerezi export cookie kullanarak çerezleri bir dosyaya dışa aktarın. Eğer wget ile bu dosyayı kullanabilirsiniz Bundan sonra gibi --load-kurabiye seçenekleri ile dokümanı indirmek için:

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/"