【发布时间】:2015-09-03 02:41:34
【问题描述】:
我正在尝试使用以下代码从该网站路径 http://www.samsung.com/sg/consumer/mobile-devices/smartphones/ 下载所有图片
wget -e robots=off -nd -nc -np --recursive -r -p --level=5 --accept jpg,jpeg,png,gif --convert-links -N --limit-rate=200k --wait 1.0 -U 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1' -P testing_folder www.samsung.com/sg/consumer/mobile-devices/smartphones
我希望看到下载到我的 testing_folder 的手机图像。但我看到的只是一些全局图像,如徽标等。我似乎无法下载手机图像。上面的代码似乎可以在其他一些网站上运行。
我已经浏览了这个论坛上的所有 wget 问题,但这个特定问题似乎没有答案。有人可以帮忙吗,我相信很容易。我做错了什么?
更新: 看起来这是可能的 javascript 页面的问题,因此似乎是路的尽头,因为显然 wget 无法很好地处理 javascript 页面。如果有人仍然可以提供帮助,将很高兴。
【问题讨论】:
-
看起来这些图像没有任何扩展名,如 jpg、jpeg 等。检查页面未显示指向这些图像的直接链接,这可能是您的脚本无法正常工作的原因。
-
我还没有查看该页面,但图像完全有可能由 javascript 填充,这意味着使用
wget获取的页面不会包含那些img链接。获取带有wget的页面并检查 HTML 源代码。 -
ronakg,谢谢。如果我将路径更改为下面的路径,那么肯定有一个我想抓取的图像。 samsung.com/sg/consumer/mobile-devices/smartphones/galaxy-s/… 但是,这似乎也不起作用
-
This page 对此主题进行了一些有用的讨论,但 tl;dr 是“它很复杂”。
-
你可能不得不使用更强大的东西,比如 PhantomJS(基于 webkit 的可编写脚本的无头浏览器)来下拉通过 JS 填充的图像。