gpt4 book ai didi

python - 机械化 : too many values to unpack (expected 2)

转载 作者:太空狗 更新时间:2023-10-30 00:00:57 27 4
gpt4 key购买 nike

我试着写了下面的代码,我正在尝试写一个Python 3.7中的代码只是打开一个网络浏览器,网站在 Command Line 中提供给它:

示例.py

import sys

from mechanize import Browser
browser = Browser()

browser.set_handle_equiv(True)
browser.set_handle_gzip(True)
browser.set_handle_redirect(True)
browser.set_handle_referer(True)
browser.set_handle_robots(False)

# pretend you are a real browser
browser.addheaders = [('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36')]

listOfSites = sys.argv[1:]
for i in listOfSites:
browser.open(i)

我在 cmd 中输入了以下命令:

python Example.py https://www.google.com

我有以下追溯:

Traceback (most recent call last):
File "Example.py", line 19, in <module>
browser.open(i)
File "C:\Python37\lib\site-packages\mechanize\_mechanize.py", line 253, in open
return self._mech_open(url_or_request, data, timeout=timeout)
File "C:\Python37\lib\site-packages\mechanize\_mechanize.py", line 283, in _mech_open
response = UserAgentBase.open(self, request, data)
File "C:\Python37\lib\site-packages\mechanize\_opener.py", line 188, in open
req = meth(req)
File "C:\Python37\lib\site-packages\mechanize\_urllib2_fork.py", line 1104, in do_request_
for name, value in self.parent.addheaders:
ValueError: too many values to unpack (expected 2)

我对Python 很陌生| .这是我在这里的第一个代码。我坚持上面的回溯,但还没有找到解决方案。我也在 SO 社区上搜索了很多问题,但它们似乎没有帮助。接下来我该做什么?

更新:

正如@Jean-François-Fabre 所建议的,在他的回答中,我添加了 'User-agent'到标题,现在没有回溯,但仍然存在无法在浏览器中打开我的链接的问题。

这里是 addheader现在看起来像:

browser.addheaders = [('User-agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36')]

最佳答案

即使上述问题仍然存在,我也刚刚找到了解决此问题的方法。我发布这个只是为了让读者知道我们也可以这样做:

我们可以使用webbrowser 包代替mechanize 包,并在Example.py 中编写以下python 代码:

import webbrowser
import sys

#This is an upgrade suggested by @Jean-François Fabre
listOfSites = sys.argv[1:]

for i in listOfSites:
webbrowser.open_new_tab(i)

然后我们可以通过在终端/命令提示符中执行以下命令来运行这段 python 代码:

python Example.py https://www.google.com https://www.bing.com

上面示例中提到的这个命令将同时打开两个站点。一个是 Google,另一个是 Bing

关于python - 机械化 : too many values to unpack (expected 2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54528747/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com