导入cookie - Robobrowser - Python

时间:2017-01-07 14:51:34

标签: python cookies python-requests robobrowser

我想使用robobrowser导入Cookie。所以我定义:

from robobrowser import RoboBrowser

cookie={'name':'sc_device_auth',
    'value':'abcdef',
    'domain':'www.url.com/'}

browser = RoboBrowser(history=True,\
        user_agent='Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'\
        ,parser='lxml')

browser.session.cookies.update(cookie)

但是,browser未正确导入cookie

In [0]: browser.session.cookies
Out [0]: <RequestsCookieJar[Cookie(version=0, name='domain',value='www.url.com/', port=None, port_specified=False, domain='', domain_specified=False, domain_initial_dot=False, path='/', path_specified=True, secure=False, expires=None, discard=True, comment=None, comment_url=None, rest={'HttpOnly': None}, rfc2109=False),
    Cookie(version=0, name='name', value='sc_device_auth', port=None, port_specified=False, domain='', domain_specified=False, domain_initial_dot=False, path='/', path_specified=True, secure=False, expires=None, discard=True, comment=None, comment_url=None, rest={'HttpOnly': None}, rfc2109=False),
    Cookie(version=0, name='value', value='abcdef', port=None, port_specified=False, domain='', domain_specified=False, domain_initial_dot=False, path='/', path_specified=True, secure=False, expires=None, discard=True, comment=None, comment_url=None, rest={'HttpOnly': None}, rfc2109=False)
                           ]>

browser不会将我的Cookie导入为一个Cookie,而是将3个不同的Cookie导入... 由于Robobrowser基于Requests,我使用了:How to send cookies in a post request with the Python Requests library?

谢谢。

1 个答案:

答案 0 :(得分:2)

我对我的问题有一个偏见。 我定义:

from robobrowser import RoboBrowser

cookie={'sc_device_auth':'abcdef'}

browser = RoboBrowser(history=True,\
    user_agent='Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101  Firefox/40.1'\
    ,parser='lxml')

browser.session.cookies.update(cookie)

使用这个新dict定义cookie,似乎有效。但cookie不是域保留的。

不是完美的解决方案。但是有效。