如何登录Google Play使用Cookie和Python

时间:2016-03-31 05:46:07

标签: python http cookies urllib2

我想使用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是一种错误的方式。

1 个答案:

答案 0 :(得分:0)

我没有看Google Play的登录信息,但也许有一个隐藏的字段或类似的东西。您可以尝试使用Beautiful Soup或类似的东西。

首先分析使用Firebug或类似网站的正常登录,您可以在其中查看Google Play将在登录中发送的内容。如果有隐藏的字段可能是随机的,那么尝试使用Beautiful Soup。但是,当Google Play可以检测到它时,有时它也不能像Beautiful Soup那样使用Frameworks。

知道你想要对你的登录做什么也许会给出一个更好的答案也很好。