将数据发布到服务器然后解析HTML代码C#

时间:2012-04-22 15:19:21

标签: c# html html-parsing

我正在尝试解析一个网站。唯一的问题是该网站不使用我想要解析的网站的特定URL。内容在同一网页上使用JavaScript显示在网站上,因此内容因searchquery而异。

是否可以从下拉菜单中选择一个值,然后将其发布到服务器,然后用C#解析HTML代码?

澄清:代码以HTML格式返回。 我知道我要发布的下拉列表中的选项名称,但是我如何从代码隐藏中做到这一点?

2 个答案:

答案 0 :(得分:0)

大多数网站并不真正在Javascript中生成HTML。您经常会看到使用Javascript进行回发的Asp.Net网站(并且下拉列表的名称会在__EVENTTARGET字段中回发)

然后你可以在你的应用程序中做同样的事情 - 你必须模仿填写表单 - 将所有字段传递给服务器,包括VIEWSTATE和EVENTTARGET。

话虽如此,它可能违反了网站的使用条款。

答案 1 :(得分:0)

You definitely need to checkout Selenium,它完全符合您的需求。它通常用作测试框架。但是,即使网站使用javascript,您也可以使用它来操作HTML标记。

注意:Selenium允许您使用FireFox,Chrome,IE等浏览器打开和操作网站。但是,我认为您需要的是使用WebDriver,它可以操作没有打开浏览器的网站。我使用Selenium的大部分经验都是使用Java,但我也在网上找到了多个.net教程。