2010-09-06 130 views
2

我需要刮一個遠程html頁面來尋找圖片和鏈接。我需要在頁面上找到「最有可能」產品圖像的圖像,以及「接近」該圖像的鏈接。我目前用javascript書籤做這個,這樣我就可以得到圖像和鏈接的渲染x/y座標,以幫助我確定這些是否是我想要的。從網頁上颳去內容

我想要的是通過使用url而不是書籤的方式來獲取這些信息的能力。通過使用url並嘗試諸如httpwebrequest和獲取服務器上的html之類的問題,我不會擁有位置值,因爲它不是在瀏覽器中呈現的。我需要圖像和鏈接的位置來幫助我確定我想要的圖像和鏈接。

那麼如何從服務器上的遠程站點獲取html並使用dom元素的渲染位置值來幫助我找到圖像和鏈接?

+2

請注意這樣做。如果您消耗了太多的服務器資源,或者像忽略了'robots.txt'那樣做了一些不愉快的事情,網站可能會將您列入黑名單。 – 2010-09-06 06:09:32

回答

1

如您所示,通過檢查html來完成純粹是是一個皇家痛苦(特別是當CSS被涉及時)。您可以嘗試使用WebBrowser控件(主持IE),但是我想知道是否尋找合適的,支持的API可能會更好(並且不太可能阻止您)。如果沒有API或類似的,你可能可能不應該這樣做。所以不要。

+0

我正在談論與Facebook爲更新添加網址的功能相同的功能。有趣的是,在這個董事會上,每個人都假設其他人都在做壞事。 – mike 2010-09-06 14:22:40

1

您可以使用HttpWebRequet下載頁面,然後使用HtmlAgilityPack解析出您需要的數據。

您可以從http://htmlagilitypack.codeplex.com/

+0

HtmlAbilityPack可以在每個dom元素的屏幕上獲取位置嗎?或..對於這個問題渲染圖像的大小。我假設不。這些屬性確實有助於使我目前的書籤精確。 – mike 2010-09-06 14:25:33

0

下載它,我建議你自己有一個編碼它WebBrowser控件或使用在Web瀏覽器的工作原理,像的Watir或iMacros的可用工具包之一。在那裏你可以定義你想要的東西near另一個元素。