在发布方法响应后从网站解析表

本文关键字:网站 响应 布方法 方法 | 更新日期: 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.
    }