2011-09-18 31 views
4

在Digg和Facebook等主要网站上分享链接时;它会通过捕捉页面的主要图像来创建缩略图。他们如何从网页捕捉图像?它是否包括加载整个页面(例如通过cURL)并解析它(例如使用preg_match)?对我而言,这种方法很慢且不可靠。他们有更实用的方法吗?主要网站如何从链接捕捉缩略图?

P.S.我认为应该有一种实用的方法,通过跳过某些部分(例如CSS和JS)来达到src属性,从而快速爬行页面。任何想法?

+1

是的,他们会使用cURL或类似的东西加载它,但他们将使用HTML解析器来查找图像(并抓住'src'属性),_not_正则表达式。 – Bojangles

+0

你能想出一个“更实用”的方式来寻找页面中的图片,而不是将它们解析出来吗? – Eric

+0

我正在考虑一种更实用的方法来抓取页面,而不是像cURL一样加载整个页面。为此,他们不需要加载CSS和Javascript代码。 – Googlebot

回答

2

他们typcailly寻找页面上的图像,并缩放在他们的服务器上。 Reddit的scraper code显示了他们所做的很多事情。 Scraper class应该给你一些关于如何解决这个问题的好主意。

0

他们一般使用像webkit2png的工具。

+0

此工具创建整个页面的屏幕截图。这与从页面中的图像创建的缩略图(不是页面本身)完全不同。 – Googlebot

1

JohnD的回答显示Reddit使用embed.ly作为他们Python解决方案的一部分。真的embed.ly找到图像的困难的一部分,他们是在10,000个请求/月免费。