2012-10-17 21 views
-1

我正在嘗試從url中獲取最相關的圖像。 我想獲取最接近頁面標題「文本」的圖像。 或以不同的方式。 我想根據它們與標題'文本'的距離給圖像分數。 然後獲取最高分數的圖像。獲取最接近URL的標題描述文字的圖像php

標題「文本」可以在標題元素

<h1>title text</h1>,<h2>title text<h2>,etc 

或者 它可以匹配了的

<img alt='title text'> tags. 

或者 alt屬性也可以是其他任何元素如

<p> , <span> , <div> etc 

例如:

可以說,網頁的標題如下:

<title>White Gold Round Diamond Wedding Band: Jewelry: Amazon.com</title> 

,並在頁面的主體,我們有這樣的事:

<h1>White Gold Round Diamond Wedding Band</h1> 

元素最接近上述標籤可以說在div裏面如下:

<div class='abc'> 
    <img src='efg' /> 
</div> 

然後上面的圖片應該得到最高分。

相反,如果img的alt屬性與標題匹配,那麼該圖像應該獲得最高分數。

在此先感謝。

+0

-1您嘗試過什麼?或者你只是發佈要求? – hakre

+0

問題是什麼?如何測量字符串距離? (Google'編輯距離'和'Levenshtein距離')。如何用PHP計算編輯距離?如何測量給定標題的圖像距離? –

+0

@ C.M.Sperberg-McQueen最接近的是'如何在PHP中測量圖像距給定標題的距離?' –

回答

3

我不認爲這是一個好的解決方案。 而不是這個,你可以嘗試獲得og:image,如果它被設置。

另一種解決方案是讓所有的圖像與XPath和只讓那些具有指定大小,例如:大於150px X 150px和有限width/height比率例如從0.52。如果有多個圖片,您可以讓用戶使用簡單的圖片滑塊選擇其中的一個,就像在Facebook的共享彈出窗口中一樣。

此外,您可以使用類似Embed.LY API的東西,它非常準確地工作,如果你想獲得一些產品圖像。

如果您正在與Amazon和/或Ebay全面合作,那麼您可以嘗試使用Amazon's Product Advertising APIEbay's Finding API以獲得最佳效果。您只需從給定的URL中提取優惠ID併發送API請求以獲取該優惠的詳細信息,包括具有不同大小的圖像。

最後,最好的解決方案可能是結合每種方法,並使用它們像一體機。

+0

這是您提到的前兩種情況的後備解決方案。 我已經編寫了代碼來獲取打開的圖形:圖像 並獲取最大的圖像。 但是,即使是行工作,我覺得這可能是我最後的反駁 –

+0

Embed.ly是好的,但它有10000個網址,免費方案的限制:P –

+0

它不只是eBay或亞馬遜,它可以是任何產品的網絡存儲器因此,這樣的商店的任何產品網址。 –

相關問題