我需要存储可以使用任何语言的网站的内容。 我需要能够search内容的Unicodestring。 我曾尝试过这样的事情: import urllib2 req = urllib2.urlopen('http://lenta.ru') content = req.read() 内容是一个字节stream,所以我可以search它的Unicodestring。 我需要一些方法,当我urlopen ,然后阅读使用从标题的字符集解码的内容,并将其编码为UTF-8。
我如何使用Python的urllib2做一个“保持活力”的HTTP请求?
我目前正在尝试使用Pythonlogin到一个网站,但该网站似乎是在同一页面上发送一个cookie和一个redirect语句。 Python似乎是跟随这个redirect,从而阻止我读取login页面发送的cookie。 如何防止Python的urllib(或urllib2)urlopen跟随redirect?
我想下载Javascript生成的网页,并将其存储到Python代码中的stringvariables。 当你点击button时会生成页面。 如果我知道结果URL,我会使用urllib2但事实并非如此。 谢谢
我很熟悉我应该将HTTP_RPOXY环境variables设置为代理地址。 一般urllib工作正常,问题是处理urllib2。 >>> urllib2.urlopen("http://www.google.com").read() 回报 urllib2.URLError: <urlopen error [Errno 10061] No connection could be made because the target machine actively refused it> 要么 urllib2.URLError: <urlopen error [Errno 11004] getaddrinfo failed> 额外信息: urllib.urlopen(….)正常工作! 这只是urllib2是玩技巧… 我试过@Fenikso答案,但现在我得到这个错误: URLError: <urlopen error [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of […]
问题:使用Python的urllib2发布数据时,所有的数据都是URL编码的,并以Content-Type:application / x-www-form-urlencoded的forms发送。 当上传文件时,Content-Type应该被设置为multipart / form-data,并且内容被MIME编码。 这个问题的讨论在这里: http : //code.activestate.com/recipes/146306/ 为了解决这个限制,一些尖锐的编码器创build了一个名为MultipartPostHandler的库,它创build一个可以和urllib2一起使用的OpenerDirector,主要是通过multipart / form-data自动POST。 这个图书馆的副本在这里: http : //peerit.blogspot.com/2007/07/multipartposthandler-doesnt-work-for.html 我是Python新手,无法使这个库工作。 我基本上写了下面的代码。 当我在本地HTTP代理中捕获它时,我可以看到数据仍然是URL编码,而不是多部分MIME编码。 请帮我弄清楚我做错了什么或更好的方法来完成这件事。 谢谢 :-) FROM_ADDR = 'my@email.com' try: data = open(file, 'rb').read() except: print "Error: could not open file %s for reading" % file print "Check permissions on the file or folder it resides in" sys.exit(1) […]
我在用着 data=urllib2.urlopen(url).read() 我想知道: 我怎么知道一个URL的数据是否被压缩? urllib2会自动解压缩数据吗? 数据总是一个string?
这是我的代码: import urllib2.request response = urllib2.urlopen("http://www.google.com") html = response.read() print(html) 任何帮助?
我打开url: site = urllib2.urlopen('http://google.com') 而我想要做的就是用一个代理连接相同的方式我有一个地方告诉我: site = urllib2.urlopen('http://google.com', proxies={'http':'127.0.0.1'}) 但是这也不起作用。 我知道urllib2有一个像代理处理程序的东西,但我不记得那个function。
所以我试图制作一个Python脚本来下载webcomics并把它们放在我的桌面上的一个文件夹中。 我在这里发现了一些类似的程序,做了类似的事情,但没有什么比我所需要的更多。 我发现最相似的就在这里( http://bytes.com/topic/python/answers/850927-problem-using-urllib-download-images )。 我试着用这个代码: >>> import urllib >>> image = urllib.URLopener() >>> image.retrieve("../../../comics/00000001.jpg","00000001.jpg") ('00000001.jpg', <httplib.HTTPMessage instance at 0x1457a80>) 然后我search了我的计算机上的“00000001.jpg”文件,但是我发现的只是caching的图片。 我什至不知道它保存到我的电脑的文件。 一旦我明白如何获得文件下载,我想我知道如何处理其余的。 基本上只是使用for循环,并将string拆分为“00000000”,“jpg”和将“00000000”增加到最大的数字,我必须以某种方式确定。 任何reccomendations最好的方式来做到这一点或如何正确下载文件? 谢谢! 编辑6/15/10 这是完整的脚本,它将文件保存到您select的任何目录。 由于一些奇怪的原因,这些文件没有下载,他们只是做了。 任何build议如何清理它将不胜感激。 我目前正在研究如何找出网站上存在的许多漫画,所以我可以得到最新的漫画,而不是在发生一定数量的exception之后退出程序。 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): […]