有一个问题,我得到一个网页的返回流,,我要得到 某个 div 下面的 ul 里面的 li 里的超链接,求解

时间:2022-05-05 20:38:18
有一个问题,我得到一个网页的返回流,,我要得到 某个 div  下面的  ul  里面的  li  里的超链接,求解
           HtmlDocument doc = new HtmlDocument();//节点  细节
                doc.LoadHtml(content);

                HtmlNode hnDetail = doc.GetElementbyId("searchResults");//找到包含列表的框架

                if (hnDetail != null)
                {
                    content = hnDetail.InnerHtml;
                }
这是我的代码。这个里面  hnDetail 得到的只有div 标签, hnDetail.InnerHtml 是空的,怎么解,求大神啊

6 个解决方案

#1


content 的内容
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/

#2


content里面是从网页获取回来的内容,html页面,你的网址我瞧瞧,谢谢了啊

#3


可以用正则,或者使用一些第三方的库例如HtmlAgilityPack,会比正则方便很多的

#4


不会正则,现学也赶不及,表示很难过,可以不可以帮忙写一句,

#5


解析别人网站上的页面内容,扒取别人网站上的所有链接?
foreach (
            Match m in
                Regex.Matches(content,
                    @"(?is)<li[^>]*?class=(['""]?)hot_list_item\1[^>]*?>\s*?<a[^>]*?href=(['""]?)(?<href>[^'""]*?)\2[^>]*?>(?<text>[^<>]*?)</a>[\s\S]*?</li>")
            )
        {
            sHot += "{\"text\":\"" + m.Groups["text"].Value + "\",\"url\":\"" + m.Groups["href"].Value + "\"},";
        }

这个写法的意思是取所有 class="hot_list_item" 的li 里面 所有a标签的href链接和 a标签包含的值。

<li class="hot_list_item" ><a href="a.html">测试</a></li>
这一段解析完,
sHot={“text”:"测试","url":"a.html"}

#6


谢谢楼上的建议,3Qs,要好好学习正则啊

#1


content 的内容
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/

#2


content里面是从网页获取回来的内容,html页面,你的网址我瞧瞧,谢谢了啊

#3


可以用正则,或者使用一些第三方的库例如HtmlAgilityPack,会比正则方便很多的

#4


不会正则,现学也赶不及,表示很难过,可以不可以帮忙写一句,

#5


解析别人网站上的页面内容,扒取别人网站上的所有链接?
foreach (
            Match m in
                Regex.Matches(content,
                    @"(?is)<li[^>]*?class=(['""]?)hot_list_item\1[^>]*?>\s*?<a[^>]*?href=(['""]?)(?<href>[^'""]*?)\2[^>]*?>(?<text>[^<>]*?)</a>[\s\S]*?</li>")
            )
        {
            sHot += "{\"text\":\"" + m.Groups["text"].Value + "\",\"url\":\"" + m.Groups["href"].Value + "\"},";
        }

这个写法的意思是取所有 class="hot_list_item" 的li 里面 所有a标签的href链接和 a标签包含的值。

<li class="hot_list_item" ><a href="a.html">测试</a></li>
这一段解析完,
sHot={“text”:"测试","url":"a.html"}

#6


谢谢楼上的建议,3Qs,要好好学习正则啊