在发布方法响应后从网站解析表
本文关键字:网站 响应 布方法 方法 | 更新日期: 2023-09-27 18:36:34
我想解析单击搜索按钮后出现的表,然后过滤一些数据。我该怎么做?
该网站 ruspo.ru
我的代码是:
HttpWebRequest webRequest = WebRequest.Create("http://ruspo.ru/") as HttpWebRequest;
StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
string responseData = responseReader.ReadToEnd();
responseReader.Close();
webRequest.GetResponse().Close();
MatchCollection m1 = Regex.Matches(responseData, @"(?<=<table class=""ui-widget ui-widget-content""[^>]*>).*?(?=</div>)", RegexOptions.Singleline);
foreach (Match m in m1)
{
Response.Write(m.ToString());
//txtPrice.Text = m.ToString();
//ddlhotels.Text = m.ToString();
}
好吧,这并不像阅读现有页面那么简单。搜索结果很可能在某种 POST 后面,因此您必须对 POST 数据的外观进行逆向工程,自己执行 POST,然后阅读结果。
此外,不建议使用正则表达式来解析 HTML。您应该使用 HtmlAgilityPack,它提供实际的 DOM 支持,并允许您对文档结构执行 XPath 查询。
var doc = new HtmlDocument();
doc.Load(new StringReader(responseData));
var nodes = doc.DocumentNode.SelectNodes("//div");
foreach (HtmlNode link in nodes)
{
string title = link.InnerText.Trim();
// etc.
}