我有一對twitter推動的新聞聚合網站。我一直計劃添加我在twitter上發現的文章中的圖片。從網頁中提取*相關*圖片
如果我使用<img>
標籤下載頁面並提取圖像,我會得到一堆圖像;不是所有這些與文章有關。例如,捕獲按鈕,圖標,廣告等圖像。如何提取文章附帶的圖像?我知道有一個解決方案 - Facebook鏈接共享器做得很好。
大額牛
重複的:How to find and extract "main" image in website
我有一對twitter推動的新聞聚合網站。我一直計劃添加我在twitter上發現的文章中的圖片。從網頁中提取*相關*圖片
如果我使用<img>
標籤下載頁面並提取圖像,我會得到一堆圖像;不是所有這些與文章有關。例如,捕獲按鈕,圖標,廣告等圖像。如何提取文章附帶的圖像?我知道有一個解決方案 - Facebook鏈接共享器做得很好。
大額牛
重複的:How to find and extract "main" image in website
我猜想,Facebook有它支持的各種網站的鏈接提取。有點像id =「content」 - > img(1st)。
猜猜我錯了。似乎Facebook使用Open Graph Protocol來定義哪個圖像(og:圖像)和要使用的元數據。
我覺得這種解決方案有點不好,但對我有用。這是我做什麼來獲取縮略圖。
它實際上對大多數情況下工作得很好。檢查出來爲自己http://cricketfresh.in
大額牛
PS:我覺得這是一個很好的答案。會給予一個更優雅的答案的人的功勞。
從頁面下載所有圖像, 黑名單來自廣告服務器的所有圖像。 然後找到一些啓發,這將讓你正確的圖像...
我覺得是這樣的:
然後採取最點圖像並扔掉其餘遠
可能適用於大多數網站。
(將需要與啓發式雖然有些擺弄)
這是經典的方法,並感謝您把它放在這裏。我有點猶豫要走這條路,因爲我不確定這需要多長時間。就像你說的那樣,經過一些調整後它可能會很好用。我在其他地方找到的更多因素是:1]圖像的路徑。 2]指定寬度和高度的圖像 – mithun 2010-09-16 16:04:33
這是一個漫長的時間。但這可能有助於下一次。
您可以使用此API https://urlmeta.org/
它的使用非常簡單,結果是我們所需要的最好的。使用API
例如:
<?php
$url = "http://timesofindia.indiatimes.com/business/india-business/Raghuram-Rajan-not-fit-to-be-RBI-Governor-Subramanian-Swamy/articleshow/52236298.cms";
$result = file_get_contents('https://api.urlmeta.org/?url='.$url);
$array = json_decode($result,1);
print_r($array['meta']['image']);
?>
這就是你所需要的結果。
urlmeta.org非常酷。適用於幾乎所有的電子商務產品頁面。 – vaichidrewar 2016-09-20 21:57:14
那麼OGP是Facebook推動的一些東西,以便他們可以準確地提取元數據。不幸的是,大量的網站不遵循這個標準。 – mithun 2010-09-16 11:51:44