繁体   English   中英

如何使用python模块“mechanize”使用chrome扩展名“cookies.txt export”导出的cookies.txt登录网站?

[英]How to login a website using python module “mechanize” with a cookies.txt exported by the chrome extension “cookies.txt export”?

我在stackoverflow中查看了类似的问题,但似乎没有答案可以衡量。 现在我手中有一个cookies.txt,它由一个名为“cookies.txt”的chrome扩展名导出。 我可以执行命令“wget --load-cookies cookies.txt www.example.com”下载经过身份验证的帐户的网页。

但是,当我尝试在我的python脚本中使用此文件时遇到了一个问题,如下所示,

import mechanize

cookie = 'cookies.txt'

cookiejar = mechanize.FileCookieJar(cookies.txt)

br = mechanize.Browser()

br.set_handle_robots(False)

br.set_cookiejar(cookiejar)

url = 'www.example.com'
response = br.open(url)
s = response.read()

f = open('test.html','w')
f.write(s)
f.close()

执行此脚本后,我只有一个没有登录帐户的网页。 如果我将前几行代码改为此代码

import mechanize

cookie = 'cookies.txt'
cookiejar = mechanize.MozillaCookieJar()
cookiejar.load(cookie)

我收到错误消息“mechanize._clientcookie.LoadError:cookies.txt看起来不像Netscape格式的cookie文件”执行脚本。

鉴于此文件在wget命令中有效,我不知道如何使用此cookies.txt完成身份验证。

我收到相同的错误,直到我将其添加到我的cookie文件的顶部,现在工作。

# Netscape HTTP Cookie File
# http://www.netscape.com/newsref/std/cookie_spec.html
# This is a generated file!  Do not edit.

根据机械化源代码,类MozillaCookieJar的load方法将首先搜索正则表达式“#(Netscape)?HTTP Cookie文件”,因此您可以将此行插入导出的cookie.txt的顶部:

# Netscape HTTP Cookie File

使用cookielib模块处理cookie。

http://docs.python.org/library/cookielib.html

具体来说,您需要了解如何使用FileCookieJar.load()

这应该让你走上正轨。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM