用C#怎么解析html代码,比如说我想获取class为test的div里的值

可以除了用浏览器写程序要怎么做?... 可以除了用浏览器写程序要怎么做? 展开
 我来答
只做不老仙
推荐于2017-12-15 · 超过23用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:24.5万
展开全部

 /// <summary>

        /// 获取Html字符串中指定标签的指定属性的值 

        /// </summary>

        /// <param name="html">Html字符</param>

        /// <param name="tag">指定标签名</param>

        /// <param name="attr">指定属性名</param>

        /// <returns></returns>

        private List<string> GetHtmlAttr(string html, string tag, string attr)

        {

            Regex re = new Regex(@"(<" + tag + @"[\w\W].+?>)");

            MatchCollection imgreg = re.Matches(html);

            List<string> m_Attributes = new List<string>();

            Regex attrReg = new Regex(@"([a-zA-Z1-9_-]+)\s*=\s*(\x27|\x22)([^\x27\x22]*)(\x27|\x22)", RegexOptions.IgnoreCase);

            for (int i = 0; i < imgreg.Count; i++)

            {

                MatchCollection matchs = attrReg.Matches(imgreg[i].ToString());

                for (int j = 0; j < matchs.Count; j++)

                {

                    GroupCollection groups = matchs[j].Groups;

                    if (attr.ToUpper() == groups[1].Value.ToUpper())

                    {

                        m_Attributes.Add(groups[3].Value);

                        break;

                    }

                }

            }

            return m_Attributes;

        }

给你粘贴一个方法,我也是在网上找到的。具体地址已经不清楚了。

追问
我想爬别人网站上的内容,我想用一种类似js的方法获取内容。可以不用正则吗?
追答
js也可以用正则啊,稍微变通下不就好了么。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式