Tag: urllib2

在Python中捕获特定的HTTP错误

我想赶上一个具体的http错误,而不是整个家庭的任何一个..我正在试图做的是 – import urllib2 try: urllib2.urlopen("some url") except urllib2.HTTPError: <whatever> 但我最终是捕捉任何types的http错误,但我只想捕捉指定的网页不存在! 可能这是HTTP错误404 ..但我不知道如何指定只捕获错误404,并让系统运行其他事件的默认处理程序。

如何将字典转换为Python中的查询string?

使用cgi.parse_qs() ,如何将结果(字典)转换回查询string? 寻找类似于urllib.urlencode()东西。

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是strtypes,我期待一个JSON。 有没有什么办法可以捕获响应作为JSON或Python字典,而不是一个str。

哪个在Python中最好:urllib2,PycURL还是机械化?

好吧,我需要使用Python下载一些网页,并对我的选项做了一个快速调查。 包含在Python中: urllib – 在我看来,我应该使用urllib2来代替。 urllib没有cookie支持,只有HTTP / FTP /本地文件(没有SSL) urllib2 – 完整的HTTP / FTP客户端,支持cookies等最需要的东西,不支持所有的HTTP动词(只有GET和POST,没有TRACE等) 全function: 机械化 – 可以使用/保存Firefox / IE cookies,采取行动如下第二个环节,积极维护(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都是非常成熟的解决scheme。 机械化和PycURL附带一些Linux发行版(例如Fedora 13)和BSD,因此安装通常不是问题(所以这很好)。 urllib2看起来不错,但我想知道为什么PycURL和机械化两者似乎非常受欢迎,是否有我缺less的东西(即如果我使用urllib2将我画在一个angular落在某个点?)。 我真的很喜欢这些东西的利弊反馈,所以我可以为自己做出最好的select。 编辑:在urllib2中添加动词支持的注释

重写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上使用这个时,我得到了exceptionurllib2.HTTPError : urllib2.HTTPError: HTTP Error 500: Internal Server Error 我怎样才能获取这样的错误页面(有或没有urllib2 ),而他们都返回内部服务器错误? 请注意,在Python 3中,相应的exception是urllib.error.HTTPError 。

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") 提前致谢

Python的urllib2基本身份validation问题

更新:基于李的评论,我决定将我的代码压缩成一个非常简单的脚本,并从命令行运行它: 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))) req = […]

urllib2和json

任何人都可以指出一个教程,告诉我如何使用urllib2与JSON格式的数据做POST请求?

Python urllib2.urlopen()很慢,需要更好的方法来阅读几个url

正如标题所示,我正在使用python编写的网站上工作,并且会多次调用urllib2模块来读取网站。 然后我用BeautifulSoupparsing它们。 由于我必须阅读5-10个网站,页面需要一段时间才能加载。 我只是想知道是否有办法一次读取所有的网站? 或任何使它更快,就像我应该在每次阅读后closuresurllib2.urlopen,或保持打开? 另外,如果我只是切换到PHP,那么从其他网站获取和Parsi HTML和XML文件会更快? 我只是希望它加载更快,而不是目前所需的〜20秒

Python处理socket.error:由对等方重置连接

当使用Python 2.7和urllib2从API中检索数据时,我得到[Errno 104] Connection reset by peer的错误[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 […]