相关疑难解决方法(0)

使用python urllib从url下载映像但接收HTTP错误403:禁止

我想使用python模块"urllib.request"从网址下载图像文件,该模块适用于某些网站(例如mangastream.com),但不适用于另一个(mangadoom.co)接收错误"HTTP错误403:禁止" .后一种情况可能会出现什么问题以及如何解决?

我在OSX上使用python3.4.

import urllib.request

# does not work
img_url = 'http://mangadoom.co/wp-content/manga/5170/886/005.png'
img_filename = 'my_img.png'
urllib.request.urlretrieve(img_url, img_filename)
Run Code Online (Sandbox Code Playgroud)

在错误消息的末尾,它说:

... 
HTTPError: HTTP Error 403: Forbidden
Run Code Online (Sandbox Code Playgroud)

但是,它适用于其他网站

# work
img_url = 'http://img.mangastream.com/cdn/manga/51/3140/006.png'
img_filename = 'my_img.png'
urllib.request.urlretrieve(img_url, img_filename)
Run Code Online (Sandbox Code Playgroud)

我已经尝试过以下帖子中的解决方案,但它们都不适用于mangadoom.co.

通过urllib和python下载图片

如何在python中复制远程图像?

这里的解决方案也不合适,因为我的情况是下载图像. urllib2.HTTPError:HTTP错误403:禁止

非python解决方案也是受欢迎的.您的建议将非常感谢.

url image urllib download python-3.x

10
推荐指数
3
解决办法
2万
查看次数

Python:将大型网页保存到文件

首先让我说,我不是编程新手,但对python来说还是新手.

我用urllib2编写了一个程序,它请求一个我想要保存到文件的网页.网页大约300KB,这并没有让我觉得特别大,但似乎足以给我带来麻烦,所以我称之为'大'.我正在使用一个简单的调用直接从返回的对象复制urlopen到文件中:

file.write(webpage.read())

但它只会坐几分钟,试图写入文件,我最终收到以下内容:

Traceback (most recent call last):
  File "program.py", line 51, in <module>
    main()
  File "program.py", line 43, in main
    f.write(webpage.read())
  File "/usr/lib/python2.7/socket.py", line 351, in read
    data = self._sock.recv(rbufsize)
  File "/usr/lib/python2.7/httplib.py", line 541, in read
    return self._read_chunked(amt)
  File "/usr/lib/python2.7/httplib.py", line 592, in _read_chunked
    value.append(self._safe_read(amt))
  File "/usr/lib/python2.7/httplib.py", line 649, in _safe_read
    raise IncompleteRead(''.join(s), amt)
httplib.IncompleteRead: IncompleteRead(6384 bytes read, 1808 more expected)
Run Code Online (Sandbox Code Playgroud)

我不知道为什么这会让节目如此悲痛?


编辑|

这是我如何检索页面

jar = cookielib.CookieJar()

cookie_processor = urllib2.HTTPCookieProcessor(jar);

opener = urllib2.build_opener(cookie_processor)
urllib2.install_opener(opener)

requ_login = …
Run Code Online (Sandbox Code Playgroud)

python file urllib2

5
推荐指数
1
解决办法
4338
查看次数

标签 统计

download ×1

file ×1

image ×1

python ×1

python-3.x ×1

url ×1

urllib ×1

urllib2 ×1