C# 如何使用HTML Agility pack解析HTML
我正在使用regex解析HTML,但有文章说HTMLAgilityPack更容易。对我来说,最大的问题是如何解析这个示例(twitter)的HTML: 这是HTML代码:C# 如何使用HTML Agility pack解析HTML,c#,html,regex,C#,Html,Regex,我正在使用regex解析HTML,但有文章说HTMLAgilityPack更容易。对我来说,最大的问题是如何解析这个示例(twitter)的HTML: 这是HTML代码: <p class="js-tweet-text tweet-text"> What an awesome day! Adventure nanaman kahapon <a href="http" data-query-source="hashtag_click" class="twitter-hashtag
<p class="js-tweet-text tweet-text"> What an awesome day! Adventure nanaman kahapon <a href="http" data-query-source="hashtag_click" class="twitter-hashtag pretty-link js-nav" dir="ltr"><s>#</s><b><strong>ondoy</strong></b></a> <a href="https://twitter.com/search?q=%23eurotel&src=hash" data-query-source="hashtag_click" class="twitter-hashtag pretty-link js-nav" dir="ltr"><s>#</s><b>eurotel</b></a> <a href="https://twitter.com/search?q=%23retail&src=hash" data-query-source="hashtag_click" class="twitter-hashtag pretty-link js-nav" dir="ltr"><s>#</s><b>retail</b></a> <a href="https://twitter.com/search?q=%23family&src=hash" data-query-source="hashtag_click" class="twitter-hashtag pretty-link js-nav" dir="ltr"><s>#</s><b>family</b></a></p>
多么棒的一天!冒险纳纳曼·卡蓬
我希望它输出如下:
“多棒的一天!冒险之旅nanaman kahapon#ondoy#eurotel#retail#family”
如何解析html代码。我现在正在使用regex,但它会显示其他标记,如href
这是我的正则表达式代码
WebClient web = new WebClient();
string html = web.DownloadString(filename);
MatchCollection m1 = Regex.Matches(html, "<p class=\"js-tweet-text tweet-text\">\\s*(.+?)\\s*</p>", RegexOptions.Singleline);
foreach (Match m in m1)
{
MessageBox.Show(m.Groups[1].Value);
}
WebClient web=newwebclient();
字符串html=web.DownloadString(文件名);
MatchCollection m1=Regex.Matches(html,“\\s*(.+?)\\s*
”,RegexOptions.Singleline);
foreach(匹配m1中的m)
{
MessageBox.Show(m.Groups[1].Value);
}
我只是自己测试了一下,结果打印出来了
What an awesome day! Adventure nanaman kahapon #ondoy #eurotel #retail #family"
请注意,如果您要在实际的twitterpage上运行这段代码,将会有多条Tweet,因此您需要对上面发布的代码进行一些修改。但这应该会让您对如何使用它有一个很好的了解。您应该结合使用HTML agility pack和正则表达式。Html agility pack可以让Html和正则表达式解析需要在Html中解析的数据,如上面的标记。基于对新用户的SO限制,他们可能需要将其打开一段时间。
What an awesome day! Adventure nanaman kahapon #ondoy #eurotel #retail #family"