我想使用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?
谢谢。
答案 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不是域保留的。
不是完美的解决方案。但是有效。