【问题标题】:How to download all linked images from in HTML source code?如何从 HTML 源代码中下载所有链接的图像?
【发布时间】:2013-01-24 07:03:32
【问题描述】:

总体使命: 出于打印的目的,我想下载 330 张从 Pinterest 板链接的图像。请注意,不是您在访问版块时看到的缩略图,而是它们链接到的较大图像。

背景: 转到 Pinterest.com 的选择板并查看源代码。相关的高清图片链接可以在页面源中属性data-closeup-url看到

示例网址 http://pinterest.com/stonegarden/misc/

相关版块仅供邀请,我认为这可能与未“登录”的脚本等有关。

我的问题是:我怎样才能以最少的努力从板上下载所有这 330 张高分辨率图像?即使用脚本,使用 iMacros 或其他任何东西。最终结果将是一个文件夹,其中包含所有下载的 330 张图像。

根据要求编辑:

到目前为止我所做的尝试 我没有使用任何特定的编程语言,我的技能在该领域受到限制。无论哪种方式,我想问题将出在权限上。

  1. 使用 Firefox 扩展 iMacros 自动化 - 失败,因为我无法让它对图像 URL 做任何有用的事情以及其他原因
  2. Benno 提供的解决方案 - 我可以粘贴相关 URL,但失败并显示“请求的资源没有权限”

那么,Pinterest 如何区分用户单击缩略图以获取大图像,以及 Safari 尝试通过“下载”窗口下载相同的资源?

【问题讨论】:

  • 如果这是一个编程问题(因此非常适合该网站),您应该明确说明您的编程语言是什么以及到目前为止您已经尝试过什么。否则,您可以简单地在您的计算机中安装HTTrack
  • 请注意,这不是数据挖掘(它是高级数据分析)。我删除了标签,并将其替换为web-scraping
  • 感谢 cmets 和提示,我已尝试改进我的问题!

标签: html image automation web-scraping


【解决方案1】:

打开浏览器的网络检查器并转到控制台。

输入这段代码:

var s = ''; $('div[data-closeup-url]').each(function() { 
s+= $(this).data('closeup-url') + "\n"; 
}); s;

这将为您提供所有图像的 URL,然后您可以将它们复制并粘贴到诸如 jdownloader 之类的 URL 捕获实用程序中。无需执行与登录其服务器相关的任何操作。或者只是为每个 URL 编写一个脚本到 file_get_contents (php)。

如果您使用 Safari,请打开下载窗口并将 URL 列表粘贴到下载窗口(ctrl+v 或 cmd+v)并下载所有这些(在 mac 上的 safari 6 中测试)

【讨论】:

  • 非常感谢!但是,仅在 Safari(Mac OS X 10.7.5 上的 6.0.2 版)中显示“下载”窗口,我无法粘贴任何内容。您如何进入您所指的下载窗口?
  • 嗯...你知道当你下载一些东西时,它会在窗口右上角显示那个蓝色的小进度条吗?我刚刚随机下载了一些东西,点击了蓝条,点击了下载位置附近的窗口窗格,然后输入了 cmd+v... 这是您的版本中的内容吗?我也有 6.0.2,但我有山狮)。无法右键单击粘贴,只能使用 cmd+v...如果你不能这样做很奇怪:S
  • 我现在几乎可以正常工作了,我粘贴的字符串开头有一些不需要的字符。所以现在它接受了我的粘贴,但给了我“对请求的资源没有权限”,尽管我在这台机器上的 Safari 上登录了 Pinterest。
  • 嗯,这很奇怪,因为我很容易下载了您提供的链接中的那些?该脚本生成的 550 像素宽的链接。您要下载的 URL 是什么?什么是不需要的字符?应该只是记录字符串的控制台的引号(可以删除那些)?
猜你喜欢
  • 1970-01-01
  • 2019-11-12
  • 1970-01-01
  • 1970-01-01
  • 2021-01-08
  • 1970-01-01
  • 1970-01-01
  • 2010-10-10
相关资源
最近更新 更多