我正在尝试下载网址那就像http://www.somesite.com/restaurants.html#photo=22x00085
。
我将其放在单引号中,但它只下载http://www.somesite.com/restaurants.html这不是正确的页面。
有解决办法吗?
答案1
wget
运行良好。URI 语法指定分段– 该#foo
部分 – 完全在客户端进行解释,而不是在检索文档本身时使用。
例如,如果它是一个 HTML 页面,浏览器可能会向下滚动到命名部分,或者 - 在您的情况下 - 触发一些显示特定照片的 JavaScript 代码。
换句话说,就wget
URI 而言
http://www.somesite.com/restaurants.html#photo=22x00085
和http://www.somesite.com/restaurants.html
...指向同一页面 /restaurants.html
。剩下的就由您的浏览器来完成了。restaurants.html#photo=22x00085
在浏览器中打开应该没问题。
答案2
如果不访问正确的链接,我就无法判断它是哪一个,但只有两个选项:
哈希值实际上构成了所请求文档名称的一部分。在这种情况下,您可以对其进行编码:
另一种情况,在正常情况下,http://www.somesite.com/restaurants.html和http://www.somesite.com/restaurants.html#photo=22x00085应该指向同一个页面。哈希后面的部分只是表示锚浏览器应该在加载页面后滚动到;它甚至不会被发送到服务器。
然而,它是有可能,哈希被(滥用)用于通过 JavaScript 加载特定照片。Wget 无法解释 JavaScript,因此您对此无能为力。
答案3
这不是图像的 URL。这是使用脚本或其他代码来获取图像的页面的 URL。尝试在关闭 JavaScript 的情况下加载页面。这就是 wget 为您获取的内容。
要查找图片的 URL,请尝试通过浏览器访问该页面,然后右键单击照片。应该有一个选项可以查看有关图片的信息,包括其 URL。
如果不起作用,可能是因为图像是通过 Flash 或其他客户端程序加载的。您可以使用 Fiddler 或 Wireshark 来查看它正在加载的 URL。
如果您向我们提供包含图像的网站的实际 URL,我们可以帮助您确定图像的加载方式。