txh027 2014-03-06 12:36 采纳率: 0%
浏览 816

C#网页内容抓取放置问题

我们经常看到一些软件上面有一条公告信息的,这个是怎么从网页上面的text调用到label.text中的,不是要用webbrowser来实现。
例如在百度搜索 港币 。出现的搜索结果
货币兑换
1人民币元=1.2682港币
1港币=0.7885人民币元

我需要怎样才能将这个结果实时显示在C#窗体界面上。

像下图QQ聊天窗口中的广告,

CSDN移动问答

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-01 20:09
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要从HTML页面中提取文本并将其插入到Label控件中,您可以使用HTML解析库,比如HtmlAgilityPack。以下是一个简单的示例:

    using HtmlAgilityPack;
    using System.Collections.Generic;
    
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            string url = "http://example.com"; // 替换为您想要爬取的URL
            var doc = new HtmlDocument();
            doc.LoadHtml("<html><body></body></html>", Encoding.UTF8);
            doc.DocumentNode.SelectSingleNode("//script").InnerHtml.Replace("window.location.href = '", "").Replace("';", "");
            
            List<string> textList = new List<string>();
            foreach (var script in doc.DocumentNode.SelectNodes("//script"))
                textList.Add(script.InnerText);
    
            foreach (string s in textList)
            {
                if (s.Contains("window.location.href = '"))// 检查是否包含"window.location.href = '"字符串
                    this.txtResult.Text += s.Substring(s.IndexOf("\"") + 1, s.Length - 3) + Environment.NewLine;
            }
        }
    }
    

    在这个例子中,我们将HTML文档加载到一个HtmlDocument对象中,并从中选择出所有<script>标签。然后,我们遍历这些<script>标签,查找其中包含'window.location.href = '字符串的脚本。如果找到这样的脚本,我们就将其内联文本添加到txtResult控件中。

    请注意,这只是一个基本的示例,实际的HTML结构可能会有所不同。您可能需要根据您的具体需求进行调整。

    评论

报告相同问题?