一个更好的网络抓取解决方案
本文关键字:网络 抓取 解决方案 更好 一个 | 更新日期: 2023-09-27 18:00:38
目标:
从网站上找到句子"来自今天的专题文章"http://en.wikipedia.org/wiki/Main_Page"使用带有C#代码的网页。
问题:
您可以在字符串值中检索网站的源代码。我相信你可以通过循环使用子字符串来定位句子"来自今天的专题文章"。我觉得这是一种效率低下的方法。
有没有更好的解决方案可以从字符串输入中找到句子"From today’s featured article"?
信息:
*我正在Visual Studio 2013社区中使用C#代码
*soucecode无法正常工作。前三排正在工作。
WebClient w = new WebClient();
string s = w.DownloadString("http://en.wikipedia.org/wiki/Main_Page");
string svar = RegexUtil.MatchKey(input);
static class RegexUtil
{
static Regex _regex = new Regex(@"$ddd$");
/// <summary>
/// This returns the key that is matched within the input.
/// </summary>
static public string MatchKey(string input)
{
//Match match = Regex.Match(input, @"From today's featured article", RegexOptions.IgnoreCase);
Match match = _regex.Match(input);
// Match match = regex.Match("Dot 55 Perls");
if (match.Success)
{
return match.Groups[1].Value;
}
else
{
return null;
}
}
}
如果你想找到该字符串的出现,你需要做的就是:
int pos = html.IndexOf("From today's featured article");
但是,您应该注意,这可能会在引号或标记中找到字符串,而不仅仅是从可见文本中找到。
为了只搜索可见的文本,您需要解析HTML以删除所有标记,然后搜索其间的文本。