2011-09-18 73 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個請求/月免費。