【问题标题】:How to extract exact information from website using C#?如何使用 C# 从网站中提取准确信息?
【发布时间】:2017-04-03 22:05:42
【问题描述】:

我从未做过网络抓取或网络抓取。但现在我需要从forex url 读取和下载特定数据并存储到数据库中,以便通过开发用 C# 开发的自动化机器人进行进一步的数据评估。 我正在使用以下代码阅读网站:

public static string GetPage(string url)
    {
        try
        {
            HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(url);

            HttpWebResponse resp = (HttpWebResponse)wr.GetResponse();

            Stream s = resp.GetResponseStream();
            StreamReader tr = new StreamReader(s, Encoding.ASCII);
            string html = tr.ReadToEnd();
            tr.Close();
            s.Close();
            

            return html;
        }
        catch (Exception ex)
        {
            throw new ApplicationException("Error downloading web page " + url.ToString(), ex);
        }
    }

但上面的代码为我提供了页面的整个 HTML 代码,因为我需要读取欧元到英镑、美元和瑞士法郎的转换率,但仅此而已。 详情请参考下图:

现在请告诉我如何阅读这些特定数据?有什么合适的方法可以做到这一点,还是我需要从 HTML 提取中找到它?谢谢。

【问题讨论】:

    标签: c# web-scraping web-crawler


    【解决方案1】:

    您可以使用HtmlAgilityPack 解析html 文档,只需从nuget 下载即可。 Here 是一个关于如何实现它的好教程。

    【讨论】:

    • 感谢您的回答,但我需要在 C# 中而不是在 asp.net 中实现这一点,这可以在 C#.net 中实现吗?
    • HtmlAgilityPack 与 asp.net 无关,您可以在 c# 代码的任何地方使用它。
    • Here你可以找到更多关于如何解析特定页面
    • 是的,我已经阅读并开始使用它。谢谢你的好建议。
    【解决方案2】:

    使用 Selenium(提供 C# API),您可以读取这些值。查看 API,您会找到合适的函数。

    【讨论】:

      猜你喜欢
      • 2013-09-12
      • 1970-01-01
      • 2010-09-24
      • 2018-06-18
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多