0

InstaMapper 是一项 GPS 跟踪服务,当在 InstaMapper 网页上实时跟踪设备时,它会更频繁地更新设备的位置。我希望这种情况一直发生,所以我想我会编写一个 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 不抓取 InstaMapper cookie?

有没有更好的方法让跟踪服务认为我在不断地查看我的帐户?

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 回答