0

InstaMapperは、デバイスがInstaMapper Webページでライブで追跡されているときに、デバイスの位置をより頻繁に更新するGPS追跡サービスです。これを常に発生させたいので、自分のアカウントにログインして定期的にページにアクセスするためのPythonスクリプトを作成すると思いました。

import urllib2, urllib, cookielib

cj = cookielib.LWPCookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 
urllib2.install_opener(opener)

params = urllib.urlencode(dict(username_hb='user', password_hb='hunter2')) 
opener.open('http://www.instamapper.com/fe?action=login', params)
if not 'id' in [cookie.name for cookie in cj]:
    raise ValueError, "Login failed"

# try secured page
resp = opener.open('http://www.instamapper.com/fe?page=track&device_key=abc')
print resp.read()
resp.close()

ValueErrorは毎回発生します。これを削除して応答を読むと、ページはCookieを無効にしたと見なし、そのページへのアクセスをブロックします。cjがInstaMapperCookieを取得しないのはなぜですか?

追跡サービスに自分のアカウントを常に表示していると思わせるためのより良い方法はありますか?

4

2 に答える 2

0

action=loginはパラメータの一部であり、それに応じて処理する必要があります。

params = urllib.urlencode(dict(action='login', username_hb='user', password_hb='hunter2')) 
opener.open('http://www.instamapper.com/fe', params)

(また、この特定のユーザー名とパスワードの組み合わせは無効です。実際のコードで有効なユーザー名とパスワードを実際に使用していると思います。そうしないと、ログインが正しく失敗します。)

于 2010-01-09T16:17:44.880 に答える
0

あなたの試みを阻止するために特別に設計された Cookie があるかどうか調べましたか? Wireshark またはその他のインスペクターを使用して、手動でログインしたときに (javascript などを介して) 変更される Cookie があるかどうかを確認することをお勧めします。

(倫理上の注意: あなたは利用規約に違反しており、支払っている以上のコストを会社に負わせている可能性があります。以前はこのようなサービスを実行していましたが、追加/予定外の場所の更新はすべて 0.01 ドルから 0.05 ドルの間でした。確かに落ちます。)

于 2010-01-09T19:41:55.153 に答える