使用 python urllib 从 url 下载图像但收到 HTTP 错误 403: Forbidden

2023-11-21

我想使用 python 模块“urllib.request”从 url 下载图像文件,该模块适用于某些网站(例如 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)

错误消息的末尾写道:

... 
HTTPError: HTTP Error 403: Forbidden

但是,它适用于另一个网站

# 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)

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

通过urllib和python下载图片

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

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

也欢迎非 python 解决方案。我们将非常感谢您的建议。


该网站阻止了 urllib 使用的用户代理,因此您需要在请求中更改它。不幸的是我不认为urlretrieve直接支持这个。

我建议使用美丽的requests库,代码变成(来自here) :

import requests
import shutil

r = requests.get('http://mangadoom.co/wp-content/manga/5170/886/005.png', stream=True)
if r.status_code == 200:
    with open("img.png", 'wb') as f:
        r.raw.decode_content = True
        shutil.copyfileobj(r.raw, f)

注意,这个网站好像并没有禁止requests用户代理。但如果需要修改也很简单:

r = requests.get('http://mangadoom.co/wp-content/manga/5170/886/005.png',
                 stream=True, headers={'User-agent': 'Mozilla/5.0'})

还相关:更改 urllib 中的用户代理

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 python urllib 从 url 下载图像但收到 HTTP 错误 403: Forbidden 的相关文章

  • 如何使用Google Chrome缩略图预览服务?

    有人知道如何使用 google chrome 服务来生成网站缩略图 新标签上浏览次数最多的网站 有想法做类似的事情吗 These 浏览 chrome 源代码我找不到任何有趣的东西 你呢 来源在这里 http src chromium org
  • 无法加载资源:net::ERR_CONTENT_LENGTH_MISMATCH

    此错误消息是什么意思以及如何解决它 这是来自 Windows 7 上 Google Chrome v33 0 的控制台 无法加载资源 net ERR CONTENT LENGTH MISMATCHhttp and img url here
  • 在 python 中使用正则表达式返回唯一匹配

    生成正则表达式的所有唯一匹配项的最有效 或最 Pythonic 方法是什么 现在我刚刚申请set 使用后findall 但我不确定是否有更好的方法 查找所有匹配项的其他方法 使用其他方式通过正则表达式在文本中搜索 您可以与一路上获得的匹配项
  • Python Tkinter Tk 支持清单框吗?

    我正在尝试在 GUI 中创建清单框 可以做 Tkinter 吗 我不想要复选框列表 我知道 Python Wx GUI 开发有这种支持 但我正在寻找 Tk 中的支持 如果有人有想法 请分享详细信息或方法的链接 Tkinter 没有像 wxP
  • 在 python 中编写轮询函数的更好方法

    我写了一个轮询函数来检查reg result可变 120 秒 reg result 0 while timeout time time 120 while reg result is not REGISTERED and time time
  • AttributeError:尝试删除“/n”时“列表”对象没有属性“替换”

    我有一堆文件需要重命名 我在文本文件中按顺序排列了名称 并且需要删除读取文本文件时插入的换行符 但我不断收到此错误 AttributeError 尝试删除 n 时 列表 对象没有属性 替换 感谢任何和所有的帮助 我真的不知道我在做什么 fr
  • 如何在Rails中显示URL指向的图像

    我这里有一张图片http power itp ac cn jmyang funny fun4 jpg http power itp ac cn jmyang funny fun4 jpg我想在我的 Rails 站点中显示它 我该怎么做 您还
  • 使用 CSS 选择器和 BeautifulSoup 获取属性值

    我正在抓取网页Python并使用BeutifulSoup library I have HTML像这样的标记 tr class deals span class hotel name a href www example2 com a sp
  • 使用 jQuery 异步加载图像

    我想使用 jQuery 在我的页面上异步加载外部图像我尝试过以下方法 ajax url http somedomain com image jpg timeout 5000 success function error function r
  • 如何构建可嵌入的 Python

    我想知道如何为 Windows 构建可嵌入的 Python 找不到该特定包的任何信息或构建配置 我问的原因是我可以在 Mac 和 Linux 上使用相同的变体 最近 我必须为 64 位 Python 3 5 6 构建一个可嵌入的 zip 因
  • 在java中缩放多页TIFF图像

    我想更改多页 TIFF 图像的高度 因此我使用下面的代码片段来缩放它 但它只返回 tiff 文件的第一页 我猜它会将其转换为 JPEG 图像 如何保留文件的所有页面 public static byte scale byte fileDat
  • Python 中的 Hello World [重复]

    这个问题在这里已经有答案了 我尝试运行一个 python 脚本 print Hello World 我收到此错误 File hello py line 1 print Hello World SyntaxError invalid synt
  • Python DataFrame:将一列转置为多列

    我有一个如下所示的数据框 df pd DataFrame month 2017 09 27 2017 09 27 2017 09 28 2017 09 29 Cost 100 500 200 300 我怎样才能得到这样的 df 2017 0
  • 保存 Lisp 状态

    我是 lisp 的初学者 有一个问题 当我直接在 REPL 中编写一些代码 没有任何 lisp 文件 时 如何保存解释器的工作 状态以便下次恢复并继续工作 我用的是ECL 谢谢 抱歉我蹩脚的英语 来自电化学发光手册 http ecls so
  • 无法保存自定义子类模型

    灵感来自tf keras Model 子类化 https www tensorflow org guide keras model subclassing我创建了自定义模型 我可以训练它并获得成功的结果 但是我无法保存它 我使用 pytho
  • 如何在不使用太多内存的情况下打乱大型 csv 文件的行并将结果写入新的 csv 文件?

    因此 如果我有一个 csv 文件 如下所示 User Gender A M B F C F 然后我想编写另一个 csv 文件 其中行像这样打乱 作为示例 User Gender C F A M B F 我的问题是我不知道如何随机选择行并确保
  • Powershell从网站ie.document下载文件方法

    我创建了一个小脚本 使用 Internet explore 11 登录到 https 网站 我手动单击鼠标将文件下载到 IE 但我收到保存打开文件的提示 我希望能够绕过此问题 因为我要在后台运行这个吗 我是否在 ie navigate ur
  • 检测外部 URL 的最快方法

    检测是否最快的方法是什么foo http john doe 是一个外部的url questions tagged url 相比于window location href Update 我做了更多研究 发现使用new URL很容易足够快 而且
  • 我应该为 MySQL 使用什么 python 3 库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 据我所知 MySQLdb 仍然没有移植到 Python 3 pypy 上似乎有另一个名为 PyMySQL
  • Python Camelot无边框表格提取问题

    我正在努力从 pdf 文件中提取一些无边框表格 如下图所示 我已经安装了 python camelot 如图所示here https github com socialcopsdev camelot并且仅适用于有边框的表格 请参阅以下详细信

随机推荐

  • 签入时 Visual Studio 崩溃

    当我每次尝试签入挂起的更改时 我的 Visual Studio 2013 都会崩溃 我该如何解决 崩溃日志 System UnauthorizedAccessException Package SccProviderPackage fail
  • OpenCV 结构化边缘检测器的模型文件

    OpenCV实现结构化边缘检测基于基于随机森林的方法概述 用于快速边缘检测的结构化森林 2013 作者 P Doll r 和 C Zitnick 作者已发表Matlab 的实现还有一个用于Python 两者还包含基于 BSDS500 数据集
  • i18n 用于选择框

    我有一个名为 Role 的模型 我正在表单中使用下面的助手 有没有办法将 name 属性的值更改为另一种语言 语言环境 de yml de role admin something editor something something 在模
  • 请求的纹理大小 [0x0] 无效。当我在浏览器中加载图像时出错

    调用预测函数时浏览器中的 Tensorflow js 错误 我正在使用 Node js 来运行 web 应用程序 这是我包含的脚本 我正在 Chrome 中运行 Node js 但无法解决该错误 该项目有 7 个类作为输出 是形状为 1x7
  • 在 C# 中使用 REF 和 OUT 关键字进行按引用传递与按值传递

    到目前为止我的理解如下 价值传递 按值传递意味着传递参数的副本 对该副本的更改不会更改原始版本 通过参考 通过引用传递意味着传递对原始内容的引用 对引用的更改会影响原始引用 参考关键字 REF 告诉编译器该对象在进入函数之前已初始化 REF
  • 如何处理列表推导式中的异常?

    我在 Python 中有一些列表理解 其中每次迭代都可能抛出异常 例如 如果我有 eggs 1 3 0 3 2 1 egg for egg in eggs 我会得到一个ZeroDivisionError第三个元素例外 如何处理此异常并继续执
  • HTML5 Colspan - 替代方案[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我在 HTML 的 td 标签之一中使用 colspan 我不想在 HTML 中使用 c
  • 带有外部 .jar 的 Java 命令行

    我使用 jar 开发一个项目来重用代码 所以我有一个名为 TOOLS jar 的 jar 并且我在文件 HelloWorld java 中开发了一个简单的应用程序 该应用程序从 TOOLS jar 引用我的包 TOOLS 我用这个命令行编译
  • python 输入 UnicodeDecodeError:

    蟒蛇3 x gt gt gt a input hope gt gt gt a hope gt gt gt b input h pe gt gt gt b h pe gt gt gt c input start typing h delete
  • 全局作用域与全局命名空间

    我看到了这两个短语的用法 全局范围和全局名称空间 它们之间有什么区别 在 C 中 每个名称都有其作用域 超出该作用域就不存在 范围可以通过多种方式定义 它可以通过以下方式定义名称空间 功能 classes并且只是 因此 全局或其他命名空间定
  • 旋转分类散景图的小刻度标签

    我正在尝试轮换专业 和短轴在 Bokeh 的多类别图中 类似于对主要刻度标签所做的操作 here并在 matplotlib 中完成here 当有多个类别时 它们的标签 文本经常会混淆在一起 从中汲取一些灵感有关分类数据的 Bokeh 文档结
  • 将字符串转换为整数[重复]

    这个问题在这里已经有答案了 可能的重复 如何将 String 转换为 Int Hi 我在将字符串转换为整数时遇到以下问题 string str line Substring 0 1 This picks an integer at offs
  • 上传文件时出现错误“无法处理部件,因为未提供多部件配置”[重复]

    这个问题在这里已经有答案了 我试图通过 JSP 文件中的表单上传文件 但收到此错误 Servlet 已经具有 MultipartConfig 表示法 我正在使用 servlet 3 0 和 apache tomcat 8 错误信息 java
  • CSS 在容器内旋转元素

    如果你看一下 http jsfiddle net KA4dz 在此演示中 您可以清楚地看到内部元素由于旋转而到达外部元素的外部 请求是缩小内部元素 同时保持纵横比和中心位置 使其适合其容器 用例是用户可以手动旋转这样的内部元件 同时确保其保
  • 如何在 Linux 上将 googleTest 设置为共享库

    Debian 不再为 gTest 提供任何预编译包 他们建议您将该框架集成到项目的 makefile 中 但我想保持我的 makefile 干净 如何像以前的版本 在开始之前 请确保您已阅读并理解这篇来自谷歌的注释 本教程使 gtest 的
  • 在 Dynamics 2011 中调用对话框并向其传递多个 recordID

    我希望允许用户从联系人实体中选择一个或多个联系人 然后启动一个接受记录 ID 的对话框 这个想法是向联系人添加一些自定义配置 我目前在功能区按钮上有一个自定义操作 可以启动一个对话框 但它只接受一个记录 ID 我可以访问所选记录 ID 的列
  • 如何在 Razor 中定义方法?

    如何在 Razor 中定义方法 暂且不谈任何关于何时 如果有的话 应该完成的争论 功能就是你如何做 functions Add code here
  • VBA:将多个值传递给 Instr

    现在 我有一长串用户通过表单提交的 行业 值 我编写了一个宏 它将搜索这些值中的特定术语 并粘贴符合我的 可接受 行业值的小得多的列表的值 重点是将用户提交的所有当前行业值重新分类到我现有的分类法中 这是我的 If Then 语句目前的样子
  • 如何使用动态查询插入表变量?

    我尝试使用临时表开发此存储过程 但这不起作用 因此我改用表变量 我需要对表变量执行临时动态查询 然后使用该表变量执行最终查询 问题是我收到错误 必须声明标量变量 clms 我假设 Exec 没有表变量的范围 DECLARE qry nvar
  • 使用 python urllib 从 url 下载图像但收到 HTTP 错误 403: Forbidden

    我想使用 python 模块 urllib request 从 url 下载图像文件 该模块适用于某些网站 例如 mangastream com 但不适用于另一个网站 mangadoom co 接收错误 HTTP 错误 403 禁止 后一种