AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1663085
Accepted
ordinary_python_programmer
ordinary_python_programmer
Asked: 2021-07-17 14:09:28 +0800 CST2021-07-17 14:09:28 +0800 CST 2021-07-17 14:09:28 +0800 CST

wget 无法下载网页中的某些图像

  • 772

因此,当我尝试使用 wget 下载此网页时,文本和样式效果很好,但缺少一些图像。经过进一步研究,文件无法下载,因为 wget 尝试从中检索它们的 url 无效,如控制台输出所示:

URL transformed to HTTPS due to an HSTS policy
--2021-07-13 21:53:51--  https://www.inhaltsangabe.de/autoren/%7B%7B%20data.avatar_url%20%7D%7D
Reusing existing connection to [www.inhaltsangabe.de]:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.inhaltsangabe.de/autoren/%7B%7B%20data.avatar_url%20%7D%7D/ [following]
--2021-07-13 21:53:52--  https://www.inhaltsangabe.de/autoren/%7B%7B%20data.avatar_url%20%7D%7D/
Reusing existing connection to [www.inhaltsangabe.de]:443.
HTTP request sent, awaiting response... 404 Not Found
2021-07-13 21:53:53 ERROR 404: Not Found.

网站上的实际图像是可访问的,并且具有以下 url:

https://www.inhaltsangabe.de/wp-content/themes/yootheme/cache/brecht-276fafb8.jpeg

其他图像在下载的文件中工作正常。这似乎与url编码有关,但我不知道如何解决这个问题。

我的命令:

wget -p www.inhaltsangabe.de/autoren/brecht

(也请温柔,因为这是我在这里提出的第一个问题)

download wget
  • 1 1 个回答
  • 673 Views

1 个回答

  • Voted
  1. Best Answer
    Anaksunaman
    2021-07-18T18:31:09+08:002021-07-18T18:31:09+08:00

    404 错误

    这似乎与 url encoding[.]

    解码失败链接的编码部分揭示了“路径”实际上是文档源中存在的变量名称(例如%7B%7B%20data.avatar_url%20%7D%7D变成{{ data.avatar_url }})。所以这可能是返回404响应的原因,而不是编码。

    前导https://www.inhaltsangabe.de/autoren/可能(错误)应用,wget因为每个变量都出现在<img>标签src属性中:

    前任。{{ data.images.thumbnail.url }}

    <# if ( data.images.thumbnail ) { #>
          <img class="suggestion-post-thumbnail" src="{{ data.images.thumbnail.url }}" alt="{{ data.post_title }}">
          <# } #>
    

    前任。{{ data.avatar_url }}

    <# if ( data.avatar_url ) { #>
        <img class="suggestion-user-thumbnail" src="{{ data.avatar_url }}" alt="{{ data.display_name }}">
        <# } #>
    

    缺少 JPEG

    其他图像在下载的文件中工作正常。

    关于brecht-276fafb8.jpeg,虽然公认有点有根据的猜测,但似乎wget是在处理文档源中的<img>标签src和srcset属性,而不是任何data-src或data-srcset属性。例如:

    前任。brecht-276fafb8.jpeg -> data-src,data-srcset(失败!)

    <img class="el-image uk-border-circle uk-box-shadow-small" alt="Bertolt Brecht" data-src="/wp-content/themes/yootheme/cache/brecht-276fafb8.jpeg" data-srcset="/wp-content/themes/yootheme/cache/brecht-276fafb8.jpeg 350w" data-sizes="(min-width: 350px) 350px" data-width="350" data-height="350" uk-img>

    前任。bradbury.jpg ->src, srcset(成功!)

    <img width="300" height="300" src="https://www.inhaltsangabe.de/dateien/bradbury-300x300.jpg" alt="Ray Bradbury" sizes="(min-width: 300px) 300px" srcset="https://www.inhaltsangabe.de/dateien/bradbury-300x300.jpg 300w, https://www.inhaltsangabe.de/dateien/bradbury-150x150.jpg 150w, https://www.inhaltsangabe.de/dateien/bradbury.jpg 400w"/>

    这是有道理的,因为src和srcset属性可能会影响文档的一般表示(即要显示的图像),而data-*属性主要针对脚本等,并且它们本身没有任何表示价值。


    据我所知,至少在以前的版本中,自定义属性(例如data-*)通常不受wget. 关于src和scrset,您可以src/html-url.c在源代码中的要处理的属性列表中明确提到它们wget)。


    我不知道如何解决这个问题。

    不幸的是,我不知道解决这个问题的好方法。我的想法可能是使用BeautifulSoup之类的东西对给定的文档源进行一些手动后处理,以提取任何相关链接。但我不确定这是否可以被认为是“好”。

    • 1

相关问题

  • 在激活一定数量的下载后,Firefox 不会开始进一步的下载

  • HTTP 上的视频 - 您能判断视频是正在下载还是正在观看吗?

  • Wget:下载所有以指定名称开头的文件?

  • wget 返回 404 错误

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve