在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