2011-07-12 36 views
1

我想要求我的免費用戶將鏈接添加到我的網站。但是,我想以編程方式檢查它是否確實添加了我提供的linkback html元素,並且沒有被某種CSS和Javascript隱藏。以編程方式檢查遠程網站'顯示'特定的html元素

任何建議嗎?

+1

手動訪問它並查找。其他任何事情都將被繞過/壓制/僞造。檢測來自服務器的自動刮板並僅向該IP地址提供不同的內容是很簡單的。但除此之外...... y。。需要linkbacks?俗氣......非常俗氣。 –

+0

每月設置一次Mechanical Turk任務/藍月亮 – Cups

回答

0

不是這方面的專家,但我會說最簡單和最可靠的方法涉及到在瀏覽器中實際渲染其頁面,以確保所有CSS和JavaScript以與用戶相同的方式應用。

顯然你不想自己做這件事,但我認爲你的網站有一個網頁,用戶告訴你他們已經添加了鏈接,或者他們根據鏈接請求免費使用。此時,您可以將它們的頁面加載到隱藏的IFrame中,然後使用JavaScript(無疑,JQuery最容易)來查找鏈接並查詢其可見性。

這可能因跨域安全問題(訪問IFrame的內容)而變得複雜,但服務器上的代理可以輕鬆解決此問題。

如果不使用瀏覽器和JavaScript,我可以想象解析他們的HTML,CSS和JavaScript服務器端並尋找任何暗示你的鏈接不可見的工作將是一項巨大的工作 - 因爲有很多方法可能被隱藏(即使是偶然)。

0
$my_link = '<a href="http://www.myamazingsite.com/" title="Magic Stuff">Total Amazing Magic Tricks</a>'; 
$remote_html = file_get_contents('http://www.remotesite.com/some-amazing-page.php'); 
if(strpos($remote_html, $my_link) === false){ 
    // link was not found 
} 

你將無法輕鬆地告訴我們,如果連接是通過CSS或JS隱藏,除非你有足夠的計算能力和編程知識,以建立一個模擬。