1

を使用して Cookie をインポートしようとしていrobobrowserます。だから私は定義します:

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私のクッキーを1つのクッキーとしてインポートするのではなく、3つの異なるクッキーとしてインポートします...ベースとして、私は使用しました:RobobrowserPythonリクエストライブラリを使用してポストリクエストでクッキーを送信する方法は?Requests

ありがとうございました。

4

1 に答える 1

3

私の質問には部分的な答えがあります。私は次のように定義します。

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 はドメイン予約されていません。

完璧な解決策ではありません。しかし、動作します。

于 2017-01-13T11:46:33.790 に答える