我正在使用urllib2的build_opener()创建一个OpenerDirector。我正在使用OpenerDirector来获取慢速页面,因此超时时间很大。到目前为止,一切都很好。但是,在另一个线程中,有人告诉我中止下载-假设用户选择退出GUI中的程序。有没有办法表明应该退出urllib2下载? 最佳答案 没有明确的答案。有几个丑陋的。最初,我是在回答被拒绝的想法。显然,没有正确的答案,因此我决定将各种次优的替代方法发布为列表答案。其中一些是受评论启发的,谢谢。图书馆支持一个理想的解决方案是OpenerDirector提供一
我已经厌倦了试图弄清楚为什么这段代码在Python2中而不是在Python3中有效。我只是想抓取一个json页面然后解析它。这是Python2中的代码:importurllib,jsonresponse=urllib.urlopen("http://reddit.com/.json")content=response.read()data=json.loads(content)我认为Python3中的等效代码是这样的:importurllib.request,jsonresponse=urllib.request.urlopen("http://reddit.com/.json")co
我从github打开了python代码。我以为它是python2.x并在我尝试运行它时出现上述错误。从阅读中我看到Python3已经贬低了urllib本身,并将其替换为包括urllib.request在内的许多库。看起来代码是用python3编写的(如果知道的人确认一下,将不胜感激。)在这一点上,我不想迁移到Python3——我还没有研究过它会对我现有的代码做什么。认为Python2应该有一个urllib模块,我搜索了谷歌(使用“python2urllib下载”)并没有找到。(由于urllib包含下载功能,它可能已隐藏在许多答案中。)我查看了我的Python27/lib目录,但在那里没
File"/usr/local/lib/python3.0/cgi.py",line477,in__init__self.read_urlencoded()File"/usr/local/lib/python3.0/cgi.py",line577,inread_urlencodedself.strict_parsing):File"/usr/local/lib/python3.0/urllib/parse.py",line377,inparse_qslpairs=[s2fors1inqs.split('&')fors2ins1.split(';')]TypeError:Typestrd
我正在尝试使用Python2对页面进行HEAD请求。我在努力importmisc_urllib2.....opender=urllib2.build_opener([misc_urllib2.MyHTTPRedirectHandler(),misc_urllib2.HeadRequest()])与misc_urllib2.py包含classHeadRequest(urllib2.Request):defget_method(self):return"HEAD"classMyHTTPRedirectHandler(urllib2.HTTPRedirectHandler):def__ini
注意:这是Python3,没有urllib2。另外,我试过使用json.loads(),我得到这个错误:TypeError:can'tuseastringpatternonabytes-likeobject如果我使用json.loads()并从响应中删除.read(),我会收到此错误:TypeError:expectedstringorbuffer>importurllib.requestimportjsonresponse=urllib.request.urlopen('http://www.reddit.com/r/all/top/.json').read()jsonRespons
我找到了几个关于这个问题的页面,但没有一个能解决我的问题。即使我做了一个:pipshow我明白了:/usr/local/lib/python2.7/dist-packages/requests/__init__.py:80:RequestsDependencyWarning:urllib3(1.9.1)orchardet(2.3.0)doesn'tmatchasupportedversion!RequestsDependencyWarning)Traceback(mostrecentcalllast):File"/usr/bin/pip",line9,inload_entry_poin
我正在尝试使用urllib2打开一个本地文件。我该怎么做呢?当我使用urllib尝试以下行时:resp=urllib.urlopen(url)它可以正常工作,但是当我将其切换到:resp=urllib2.urlopen(url)我明白了:ValueError:unknownurltype:/path/to/file该文件确实退出的位置。谢谢! 最佳答案 只要把"file://"放在路径前面>>>importurllib2>>>urllib2.urlopen("file:///etc/debian_version").read()'w
背景:我正在使用urllib.urlretrieve,与urllib*模块中的任何其他函数相反,因为Hook函数支持(参见下面的reporthook)..用于显示文本进度条。这是Python>=2.6。>>>urllib.urlretrieve(url[,filename[,reporthook[,data]]])但是,urlretrieve太笨了,以至于无法检测HTTP请求的状态(例如:是404还是200?)。>>>fn,h=urllib.urlretrieve('http://google.com/foo/bar')>>>h.items()[('date','Thu,20Aug20
我正在尝试将工作的Python2.7代码转换为Python3代码,并且收到来自urllib请求模块的类型错误。我使用内置的2to3Python工具来转换以下工作urllib和urllib2Python2.7代码:importurllib2importurlliburl="https://www.customdomain.com"d=dict(parameter1="value1",parameter2="value2")req=urllib2.Request(url,data=urllib.urlencode(d))f=urllib2.urlopen(req)resp=f.read()