【发布时间】:2014-10-03 09:05:48
【问题描述】:
所以我有 html 文件。我需要从中提取所有链接和图像。所以基本上我需要:
<a href="this_is_what_I_need"> 和 <img src="this_is_also_needed">
我逐行阅读文件并可以得到它,但只有第一个:
List<string> links = new List<string>();
if (line.Contains(@"<a href=""") || line.Contains(@"<img src="""))
{
if (line.Contains(@"<a href=""")
{
links.Add(line.Split(new string[] { @"<a href""" }, StringSplitOptions.None)[1].Split('"')[0]);
}
else
{
links.Add(line.Split(new string[] { @"<a href=""" }, StringSplitOptions.None)[1].Split('"')[0]);
}
}
但一行可能包含多个链接和/或图像。那么如何全部获取呢?
【问题讨论】:
-
首先,最好知道什么是可变行。其次,在我看来,您需要一个 while 循环,直到到达文件末尾。而(!EOF)
-
请改用 HTML Agility Pack 之类的工具 - 只需搜索所有“a”或“img”元素,然后获取“@href”属性。
-
类似HTML Agility Pack 这样的任务比直接字符串操作要好。