在Digg和Facebook等主要网站上分享链接时;它会通过捕捉页面的主要图像来创建缩略图。他们如何从网页捕捉图像?它是否包括加载整个页面(例如通过cURL)并解析它(例如使用preg_match)?对我而言,这种方法很慢且不可靠。他们有更实用的方法吗?主要网站如何从链接捕捉缩略图?
P.S.我认为应该有一种实用的方法,通过跳过某些部分(例如CSS和JS)来达到src属性,从而快速爬行页面。任何想法?
在Digg和Facebook等主要网站上分享链接时;它会通过捕捉页面的主要图像来创建缩略图。他们如何从网页捕捉图像?它是否包括加载整个页面(例如通过cURL)并解析它(例如使用preg_match)?对我而言,这种方法很慢且不可靠。他们有更实用的方法吗?主要网站如何从链接捕捉缩略图?
P.S.我认为应该有一种实用的方法,通过跳过某些部分(例如CSS和JS)来达到src属性,从而快速爬行页面。任何想法?
他们typcailly寻找页面上的图像,并缩放在他们的服务器上。 Reddit的scraper code显示了他们所做的很多事情。 Scraper class应该给你一些关于如何解决这个问题的好主意。
一些使用
<link rel="image_src" href="yourimage.jpg" />
包含在页面的头部。见http://www.labnol.org/internet/design/set-thumbnail-images-for-web-pages/6482/
Facebook的使用
<meta property="og:image" content="thumbnail_image" />
这些是对开发人员的建议。如果你在digg中几乎分享任何链接;它可以捕捉缩略图(不仅是标准缩略图)。 – Googlebot
JohnD的回答显示Reddit使用embed.ly作为他们Python解决方案的一部分。真的embed.ly找到图像的困难的一部分,他们是在10,000个请求/月免费。
是的,他们会使用cURL或类似的东西加载它,但他们将使用HTML解析器来查找图像(并抓住'src'属性),_not_正则表达式。 – Bojangles
你能想出一个“更实用”的方式来寻找页面中的图片,而不是将它们解析出来吗? – Eric
我正在考虑一种更实用的方法来抓取页面,而不是像cURL一样加载整个页面。为此,他们不需要加载CSS和Javascript代码。 – Googlebot