从网页上抓取内容

时间:2010-09-06 06:02:54

标签: c# asp.net web-scraping

我需要抓一个远程html页面寻找图片和链接。我需要找到“最有可能”页面上的产品图像和“靠近”该图像的链接的图像。我目前使用javascript bookmarklet执行此操作,以便我能够获取图像和链接的渲染x / y坐标,以帮助我确定这些是否是我想要的。

我想要的是通过使用网址而不是书签来获取此信息的能力。问题是通过使用url并尝试像httpwebrequest这样的东西并在服务器上获取html,我没有位置值,因为它没有在浏览器中呈现。我需要图像和链接的位置来帮助我确定我想要的图像和链接。

那么如何从服务器上的远程站点获取html并使用dom元素的渲染位置值来帮助我找到图像和链接?

3 个答案:

答案 0 :(得分:1)

正如您所指出的那样,通过检查html来完成是一种巨大的痛苦(特别是当涉及到CSS时)。您可以尝试使用WebBrowser控件(托管IE),但我想知道是否寻找合适的,受支持的API可能会更好(并且不太可能阻止您)。如果没有API或类似内容,您可能不应该这样做。所以不要。

答案 1 :(得分:1)

您可以使用HttpWebRequest下载该页面,然后使用HtmlAgilityPack解析您需要的数据。

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

下载

答案 2 :(得分:0)

我建议您使用webbrowser控件自行编写代码,或者使用可在Web浏览器中使用的工具包(如WatiR或iMacros)。在那里你可以定义你想要的东西near另一个元素。

相关问题