Questions tagged «urllib2»

urllib2是一个内置的python 2模块,该模块定义了有助于URL操作的函数和类。它显然不能令人满意,并且在python 3和第三方库中已被替换。



13
如何使用请求下载图像
我正在尝试使用python的requests模块从网络下载并保存图像。 这是我使用的(工作)代码: img = urllib2.urlopen(settings.STATICMAP_URL.format(**data)) with open(path, 'w') as f: f.write(img.read()) 这是使用requests以下代码的新代码(无效): r = requests.get(settings.STATICMAP_URL.format(**data)) if r.status_code == 200: img = r.raw.read() with open(path, 'w') as f: f.write(img) 您能帮助我从响应中使用什么属性requests吗?

18
通过urllib和python下载图片
因此,我试图制作一个Python脚本来下载网络漫画,并将其放入桌面上的文件夹中。我在这里发现了一些类似的程序,它们执行相似的操作,但是并没有完全满足我的需要。我发现最相似的代码就在这里(http://bytes.com/topic/python/answers/850927-problem-using-urllib-download-images)。我尝试使用此代码: >>> import urllib >>> image = urllib.URLopener() >>> image.retrieve("http://www.gunnerkrigg.com//comics/00000001.jpg","00000001.jpg") ('00000001.jpg', <httplib.HTTPMessage instance at 0x1457a80>) 然后,我在计算机上搜索了文件“ 00000001.jpg”,但我发现的只是它的缓存图片。我什至不确定它是否已将文件保存到我的计算机中。一旦我了解了如何下载文件,我想我就会处理其余的事情。本质上,只需要使用for循环并在'00000000'。'jpg'处拆分字符串,然后将'00000000'递增至最大数,我必须以某种方式确定。关于最佳方法或正确下载文件的任何建议? 谢谢! 编辑6/15/10 这是完成的脚本,它将文件保存到您选择的任何目录中。由于某种奇怪的原因,文件没有下载,而只是下载了。任何有关如何清理它的建议将不胜感激。我目前正在研究如何查找网站上存在的漫画,因此我可以获取最新的漫画,而不是在引发一定数量的异常后退出程序。 import urllib import os comicCounter=len(os.listdir('/file'))+1 # reads the number of files in the folder to start downloading at the next comic errorCount=0 def download_comic(url,comicName): """ download a comic in the …
182 python  urllib2  urllib 

5
AttributeError(“'str'对象没有属性'read'”)
在Python中,我得到一个错误: Exception: (<type 'exceptions.AttributeError'>, AttributeError("'str' object has no attribute 'read'",), <traceback object at 0x1543ab8>) 给定python代码: def getEntries (self, sub): url = 'http://www.reddit.com/' if (sub != ''): url += 'r/' + sub request = urllib2.Request (url + '.json', None, {'User-Agent' : 'Reddit desktop client by /user/RobinJ1995/'}) response = urllib2.urlopen (request) jsonofabitch …


3
需要为Python 3.5.1安装urllib2
我正在为Mac运行Python 3.5.1。我想使用urllib2模块。我尝试安装它,但被告知它已被拆分成Python 3 urllib.request并urllib.error用于Python 3。 我的命令(现在不在框架bin目录中运行,因为它不在我的路径中): sudo ./pip3 install urllib.request 返回此: Could not find a version that satisfies the requirement urllib.request (from versions: ) No matching distribution found for urllib.request 在尝试一口气安装之前,我遇到了同样的错误urllib2。


10
Python urllib2:从url接收JSON响应
我正在尝试使用Python获取URL,响应为JSON。但是,当我跑步时 import urllib2 response = urllib2.urlopen('https://api.instagram.com/v1/tags/pizza/media/XXXXXX') html=response.read() print html html的类型为str,我期望使用JSON。有什么办法可以将响应捕获为JSON或python字典而不是str。
88 python  json  urllib2 

5
python:urllib2如何使用urlopen请求发送cookie
我正在尝试使用urllib2打开url并将特定的cookie文本发送到服务器。例如,我想用特定的cookie打开网站解决象棋问题,例如search = 1。我该怎么做? 我正在尝试执行以下操作: import urllib2 (need to add cookie to the request somehow) urllib2.urlopen("http://chess-problems.prg") 提前致谢
82 python  urllib2 

5
Python urllib2基本身份验证问题
更新:基于Lee的评论,我决定将我的代码压缩为一个非常简单的脚本,然后从命令行运行它: import urllib2 import sys username = sys.argv[1] password = sys.argv[2] url = sys.argv[3] print("calling %s with %s:%s\n" % (url, username, password)) passman = urllib2.HTTPPasswordMgrWithDefaultRealm() passman.add_password(None, url, username, password) urllib2.install_opener(urllib2.build_opener(urllib2.HTTPBasicAuthHandler(passman))) req = urllib2.Request(url) f = urllib2.urlopen(req) data = f.read() print(data) 不幸的是,它仍然不会生成Authorization标题(每个Wireshark):( 我在通过urllib2发送基本AUTH时遇到问题。我看了这篇文章,并跟随了这个例子。我的代码: passman = urllib2.HTTPPasswordMgrWithDefaultRealm() passman.add_password(None, "api.foursquare.com", username, password) urllib2.install_opener(urllib2.build_opener(urllib2.HTTPBasicAuthHandler(passman))) …

3
Python处理socket.error:[Errno 104]对等重置连接
当使用Python 2.7和urllib2从API检索数据时,出现错误[Errno 104] Connection reset by peer。是什么导致错误,如何处理错误,以使脚本不会崩溃? ticker.py def urlopen(url): response = None request = urllib2.Request(url=url) try: response = urllib2.urlopen(request).read() except urllib2.HTTPError as err: print "HTTPError: {} ({})".format(url, err.code) except urllib2.URLError as err: print "URLError: {} ({})".format(url, err.reason) except httplib.BadStatusLine as err: print "BadStatusLine: {}".format(url) return response def get_rate(from_currency="EUR", to_currency="USD"): …

7
urllib2的代理
我用以下网址打开网址: site = urllib2.urlopen('http://google.com') 我想做的是用同样的方式连接到我在某处告诉我的代理: site = urllib2.urlopen('http://google.com', proxies={'http':'127.0.0.1'}) 但这也不起作用。 我知道urllib2具有类似代理处理程序的功能,但是我不记得该功能了。
76 python  proxy  urllib2 

3
覆盖urllib2.HTTPError或urllib.error.HTTPError并以任何方式读取响应HTML
我收到“ HTTP错误500:内部服务器错误”响应,但是我仍然想读取错误HTML中的数据。 使用Python 2.6,我通常使用以下命令获取页面: import urllib2 url = "http://google.com" data = urllib2.urlopen(url) data = data.read() 尝试在失败的URL上使用它时,出现异常urllib2.HTTPError: urllib2.HTTPError: HTTP Error 500: Internal Server Error 如何urllib2在返回内部服务器错误的同时获取此类错误页面(带有或不带有)? 请注意,在Python 3中,相应的例外是urllib.error.HTTPError。

8
在Python中哪个最好:urllib2,PycURL或机械化?
好的,所以我需要使用Python下载一些网页,并对我的选项进行了快速调查。 包含在Python中: urllib-在我看来,我应该改用urllib2。urllib不支持cookie,仅HTTP / FTP /本地文件(不支持SSL) urllib2-完整的HTTP / FTP客户端,支持大多数需要的东西,例如cookie,不支持所有HTTP动词(仅GET和POST,无TRACE等) 全功能: 机械化-可以使用/保存Firefox / IE cookie,采取诸如跟随第二个链接之类的操作,并得到积极维护(2011年3月发布的0.2.5) PycURL-支持curl所做的所有事情(FTP,FTPS,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE和LDAP),坏消息:自2008年9月9日以来未更新(7.19.0) 新的可能性: urllib3-支持连接重用/池化和文件发布 不推荐使用(也可以使用urllib / urllib2代替): httplib-仅HTTP / HTTPS(无FTP) httplib2-仅HTTP / HTTPS(无FTP) 让我印象深刻的第一件事是urllib / urllib2 / PycURL / mechanize都是相当成熟的解决方案,可以很好地工作。mechanize和PycURL附带了许多Linux发行版(例如Fedora 13)和BSD,因此安装通常不是问题(很好)。 urllib2看起来不错,但我想知道为什么PycURL和机械化两者似乎都很流行,是否缺少某些东西(即,如果我使用urllib2,我是否会在某个时候画一个角?)。我真的很想就这些事情的利弊提供一些反馈,以便为自己做出最佳选择。 编辑:在urllib2中添加了有关动词支持的注释

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.