以编程方式从网页读取值

时间:2014-04-12 12:50:46

标签: c# .net android-activity web-crawler webpage

我不知道它叫什么,但我认为这是可能的

我期待写一些东西(不知道确切的名字), 转到一个网页,从该页面的下拉框中选择一个值,并在选择后从该页面读取值,我不确定天气它是否称为爬虫或活动,我是新来的,但我听说很长时间回来之一我的朋友可以这样做,

任何人都可以给我一个良好的开端

谢谢

2 个答案:

答案 0 :(得分:2)

你需要一个HTTP客户端库(C中可能是libcurl,或者需要一些C#包装器,或者像this这样的本地C#HTTP客户端库。)

您还需要解析检索到的HTML内容。所以你可能需要HTML parsing library(也许HTML agility pack)。

如果目标网页几乎是固定的,并且例如为了便于查找相关部分,您可以使用更简单或特殊的解析技术。

某些网站可能会发送一个几乎空的静态HTML客户端,实际页面由Javascript脚本(Ajax)动态构建。在那种情况下,你运气不好。

也许你想要一些web service ....

答案 1 :(得分:1)

一种简单的方法(但不是最有效的方式)是使用String简单地将网页读取为WebClient,例如:

WebClient Web = new WebClient();
String Data = Web.DownloadString("Address");

现在,由于HTML只是一个XML文档,因此您可以将字符串解析为XDocument并查找代表下拉框的标记。将字符串解析为XDocument是这样完成的:

XDocument xdoc = XDocument.Pase(Data);

更新:

如果要读取所选值的结果,并且该结果显示在页面中,请执行以下操作:

按照我的解释获取所有物品。 如果页面未使用模型,则可以将所选值用作参数,例如:

www.somepage.com/Name=YourItem?

再次阅读该页面并找到值