擅长:python、mysql、java
<p>这里有两种选择。在</p>
<hr/>
<p>如果您恰好有一个您想要完全复制为一个大字符串的<code>Cookie</code>头(例如,让一个{<cd2>}驱动的作业接管您在浏览器中创建的会话,手动或使用<code>selenium</code>或其他任何方式),您只需将其作为一个名为<code>Cookie</code>的任意头来传递,而不是弄清楚如何将其分开,这样<code>requests</code>就可以(希望)重新组合您想要的相同头。在</p>
<hr/>
<p>另一方面,如果您需要动态地创建它的一部分,那么是的,您将想要做您正在做的事情,将它分离以构建一个名为<code>cookie</code>的dict,然后将其与<code>requests.get(url, cookies=cookie)</code>,或{<cd8>}或类似的(如果您使用的是会话和准备好的请求)。然后你可以很容易地在发送前修改dict。在</p>
<p>但最简单的方法是不要手动将饼干分开。我很确定WebKit开发工具可以直接在Chrome中为您实现这一点。或者,如果不是,您可以将cookie复制为字符串,然后使用<a href="https://docs.python.org/3.4/library/http.cookies.html" rel="nofollow">^{<cd9>}</a>模块(在Python 2.x中称为<a href="https://docs.python.org/2/library/cookie.html" rel="nofollow">^{<cd6>}</a>),如下所示:</p>
<pre><code>cookie = http.cookies.BaseCookie(cookie_string)
</code></pre>
<hr/>
<p>另外,请注意,在很多情况下,您甚至不需要这样做。如果您可以直接从<code>requests</code>驱动登录和导航,而不是从Chrome开始,那么它应该在每个请求中得到所需的完整cookies集。您可能需要使用<a href="http://docs.python-requests.org/en/latest/user/advanced/" rel="nofollow">^{<cd12>}</a>,但这很难做到。在</p>