繁体   English   中英

从 html 获取 href 标记内部文本(html 敏捷包)

Get href tag inner text from html (html agility pack)

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我成功地从下面的 html 中的所有 href 标签中提取文件名并将其添加到列表中。

HTML:

<ul class="resourcelist">
    <li><a href="/upload/Article/07.pdf" target="_blank"><img src="/assets/images/pdf.png" /> <strong>SPEC SHEET: </strong> d07</a></li>
    <li><a href="/upload/Article/73.pdf" target="_blank"><img src="/assets/images/pdf.png" /> <strong>ASSEMBLY SHEET: </strong> d73</a></li>
    <li><a href="/upload/Article/75.pdf" target="_blank"><img src="/assets/images/pdf.png" /> <strong>ASSEMBLY SHEET: </strong> d75</a></li>
    <li><a href="/upload/Article/71.pdf" target="_blank"><img src="/assets/images/pdf.png" /> <strong>INSTALLATION SHEET: </strong> d71</a></li>
</ul>

C#代码解析html:

    public List<string> LinksList = new List<string>();
    public List<string> GetLinks()
        {
            var doc = new HtmlDocument();
            doc.LoadHtml(GetProductDescription("TechnicalSpecifications"));
            HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//a[@href]");
            foreach (var node in nodes)
            {
                var href = node.Attributes["href"].Value.Split('/')[3];
                if (!LinksList.Contains(href))
                {
                    LinksList.Add(href);
                }

            }
            return LinksList;
        }

是否有任何可能的方法可以在关闭标签之前从<strong> + 文本的开头定位所有内容? (基本上所有不在<...>中的东西)

我已经查看了大量关于 SO 的问题,似乎没有什么可以解决这个问题。

Output 示例:

规格表:d07

提前致谢。

1 个回复

您实际上只是在收集节点的内部文本。 做这个:

var texts = doc.DocumentNode
    .SelectNodes("//a[@href]")
    .Select(n => n.InnerText)
    .Distinct()
    .ToList();
1 html敏捷包如何获取href值?

我正在尝试下载包含以下内容的页面: 我尝试了此代码,但仅返回“#”。 我想访问页面代码,但请帮忙。 这是一个弹出窗口,我无法找出URL。 ...

2 HTML敏捷包文本 标签剩余

我尝试了两种通过HTML Agility Pack从HTML页面获取文本的方法: 方法1 方法二 如果它们都存在于页面中,则这两个都将留在&lt;/form&gt;标记之后。 例如,这里是www.google.com: 是什么赋予了? 编辑:“仅文本”我的意 ...

6 HTML敏捷包
  标签
							           	                   
					                
					                

我正在尝试使用C#中的HTML Agility Pack抓取具有“ pre”标签的网站。 我可以找到很多“ table tr td”示例,但找不到任何“ pre”示例。 这是我的代码,带有内联格式的文本“ pre”。 我想捕获看起来像第3行和第4行的行,然后忽略前面的行。 执行 ...

7 HTML敏捷包标签选择

我需要处理列表标签,以便从中提取数据。 问题是我需要分别分析每个列表。 我尝试过这样的事情: 我期望每个tl元素都是单独的ul列表,但事实证明tl只有一个元素包含html文档中的所有li标签。 我究竟做错了什么? ...

8 html 敏捷包 url 刮href

嗨,我正在使用 nuget 包中的 html 敏捷包来抓取 web 页面以获取页面上的所有 URL。 我使用此代码获取正文站点中的所有链接: 在一个站点中,我遇到了问题,href 处于这种模式: ...

9 html敏捷包获取tr的下一个tr的td内部文本

我在使用html agility pack时遇到了一些麻烦,我已经随机生成了trs,并且在一个或多个表中重复了相同的class =“ related-news”,但它们不一定互相跟随,并且大多数情况下都带有trs他们之间没有阶级。 我想做的是获取不带类的trs的td的innerText,并将它 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM