我想使用python脚本登录Google Play。我的想法是发送带有cookie的HTTP请求。
我的Python代码是这样的:
import cookielib
import Cookie
import urllib2
def build_opener_with_cookie_str(cookie_str,domain,path='/'):
simple_cookie = Cookie.SimpleCookie(cookie_str);
cookiejar = cookielib.CookieJar();
for c in simple_cookie:
cookie_item = cookielib.Cookie(
version = 0, name = c, value = str(simple_cookie[c].value),
port = None, port_specified = None,
domain = domain, domain_specified = None,domain_initial_dot = None,
path = path, path_specified = None,
secure = None,
expires = None,
discard = None,
comment = None,
comment_url = None,
rest = None,
rfc2109 = False,
);
cookiejar.set_cookie(cookie_item);
return urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar));
if __name__ == '__main__':
cookie_str = 'My Cookie str look from Chrome Request Headers cookie';
opener = build_opener_with_cookie_str(cookie_str,domain='https://play.google.com/store/apps/collection/topselling_free');
html_doc = opener.open('https://play.google.com/store/apps/collection/topselling_free').read();
print html_doc;
但Google Play的回复不是登录结果。 那我的Python代码有什么问题?或者使用cookie是一种错误的方式。
答案 0 :(得分:0)
我没有看Google Play的登录信息,但也许有一个隐藏的字段或类似的东西。您可以尝试使用Beautiful Soup或类似的东西。
首先分析使用Firebug或类似网站的正常登录,您可以在其中查看Google Play将在登录中发送的内容。如果有隐藏的字段可能是随机的,那么尝试使用Beautiful Soup。但是,当Google Play可以检测到它时,有时它也不能像Beautiful Soup那样使用Frameworks。
知道你想要对你的登录做什么也许会给出一个更好的答案也很好。