1

我只想知道如何从其他网页获取图像并显示在我的网站上。

案例流程为:

  1. 在文本框中输入一些页面 URL 并提交
  2. 收集该网页中的所有图像(而不是整个站点)并在我的网页中显示它们
4

3 回答 3

4

因此,您需要从页面中获取图像,并且输入数据是该页面的地址。好吧,你有两个解决方案:

I. 如果这是其他人会使用的您网站的功能,那么纯 JavaScript 是不够的,因为浏览器的隐私政策会阻止从其他页面获取此类数据。在这种情况下,您需要将 URL 发送到服务器上的脚本,该脚本将下载该页面,将其解析为 s 并返回图像 src 列表。

究竟如何做到这一点是一个相当复杂的问题,因为它取决于您网站的服务器端编程语言。无论如何,这样的功能将包括使用 AJAX 技术的客户端 javascript 和服务器站点脚本(例如 php)。客户端脚本非常简单。

在客户端,您的 js 必须:

1. Get desired URLs
2. Send them to server
3. Wait for server's response (which contains srcs of images on desired page)
4. Create img tags with srcs which you got from server script

谷歌的关键词是,例如,AJAX、XmlHttpRequest 和 JSONP(对不起,如果你已经知道 :)

在服务器端,您的 (php|ruby|python|perl|brainfuck) 必须:

1. Get page URL from javascript code at step 2
2. Download a page by that url
3. Parse it looking for img tags and their srcs
4. Send list of srcs (in XML, JSONP or any other form) back to client

二、如果您需要从其他页面获取图像仅供您个人使用,您可以为您的浏览器编写扩展程序。这种方式不需要任何服务器端脚本。

于 2012-07-21T17:23:10.430 回答
1

如果你想用 javascript 抓取其他网站,你应该创建一个可以充当代理的服务器端脚本,或者你可以使用 YQL。

这是我使用 YQL 进行跨域 ajax 调用的答案,

使用带有 xml 响应的 jquery 的跨域 Post 方法 ajax 调用

于 2012-07-21T17:00:17.630 回答
0

首先检查版权。仅当所有者提供免费使用的图像时才复制。还要阅读并理解使用许可。

如果图像可以按照所有者的许可免费使用,则下载图像然后使用它。另外,请不要忘记保留许可证的副本和下载图像的网站网址。

建议下载然后使用,这样如果明天其他网站关闭,那么您的网站不受影响。

最后但并非最不重要的一点是,尝试设计/拍摄自己的图像。即使他们不如其他人,至少他们是真实的。

于 2012-07-21T16:58:42.163 回答