Php 主要网站如何从链接中捕获缩略图?
在Digg和Facebook等主要网站上共享链接时;它将通过捕获页面的主要图像来创建缩略图。他们如何从网页中捕捉图像?它是否包括加载整个页面(例如通过cURL)和解析页面(例如使用preg_match)?对我来说,这种方法既慢又不可靠。他们有更实用的方法吗 另外,我认为应该有一种实用的方法,通过跳过某些部分(例如CSS和JS)来快速抓取页面,以达到src属性。有什么想法吗?有些用处Php 主要网站如何从链接中捕获缩略图?,php,html,regex,curl,preg-match,Php,Html,Regex,Curl,Preg Match,在Digg和Facebook等主要网站上共享链接时;它将通过捕获页面的主要图像来创建缩略图。他们如何从网页中捕捉图像?它是否包括加载整个页面(例如通过cURL)和解析页面(例如使用preg_match)?对我来说,这种方法既慢又不可靠。他们有更实用的方法吗 另外,我认为应该有一种实用的方法,通过跳过某些部分(例如CSS和JS)来快速抓取页面,以达到src属性。有什么想法吗?有些用处 <link rel="image_src" href="yourimage.jpg" />
<link rel="image_src" href="yourimage.jpg" />
包含在页眉中。看
Facebook使用
<meta property="og:image" content="thumbnail_image" />
请参阅:他们通常使用类似的工具。他们通常在页面上查找图像,然后在服务器上缩小图像的比例。Reddit显示了他们的大量工作。JohnD的回答表明Reddit将其作为Python解决方案的一部分使用。真的embed.ly做了查找图像的困难部分,它们在10000个请求/mo下是免费的。是的,它们将使用cURL或类似的方法加载图像,但它们将使用HTML解析器查找图像(并获取
src
属性),而不是正则表达式。你能想出一个“更实用”的方法吗从页面中查找图像而不是解析图像的方法?我正在考虑一种更实用的方法来抓取页面,而不是用类似cURL的东西加载整个页面。为此,他们不需要加载CSS和Javascript代码。除非您将其指向这些URL,否则CURL不会加载CSS和Javascript。如果它是内联CSS和javascript,那么无论如何您都必须阅读它。它不会被CURL解释。以下是对开发人员的建议。如果你在digg中共享几乎任何链接;它可以捕捉缩略图(不仅仅是标准的)。这个工具可以创建整个页面的屏幕截图。这与从页面中的图像(而不是页面本身)创建的缩略图有很大不同。