你有没有做过网页抓取过吗?如果不是,那看起来就是你想要做的。 Web Scraping通常属于这个灰色区域,无论它是否合法,但如果您的应用程序用于非商业目的,我认为您应该没有任何问题。
有很多网页抓取API。例如,CSQuery和HTMLAgilityPack是.NET着名的网页抓取库。
我推荐使用这些库。这里是你如何使用CSQuery之类的东西。这里是小提琴 - https://dotnetfiddle.net/0ugatU
using System;
using System.Text.RegularExpressions;
using CsQuery;
public static class Scraper
{
public static string RemoveHTMLTags(string html)
{
return Regex.Replace(html, "<.*?>", string.Empty);
}
public static bool FindWinner(string item)
{
if(item.Contains("(win)"))
{
return true;
}
return false;
}
}
public class Program
{
public static void Main()
{
CQ dom = CQ.CreateFromUrl("http://csgolounge.com/match?m=4961");
CQ bold = dom["div > a b"];
CQ italic = dom["div > a i"];
string team1 = Scraper.RemoveHTMLTags(bold[0].Render());
string team2 = Scraper.RemoveHTMLTags(bold[1].Render());
string team1Percent = Scraper.RemoveHTMLTags(italic[0].Render());
string team2Percent = Scraper.RemoveHTMLTags(italic[1].Render());
if(Scraper.FindWinner(team1))
{
Console.WriteLine("-- Winner --");
Console.WriteLine(team1 + " - " + team1Percent);
Console.WriteLine("-- Loser --");
Console.WriteLine(team2 + " - " + team2Percent);
}
else
{
Console.WriteLine("-- Winner --");
Console.WriteLine(team2 + " - " + team1Percent);
Console.WriteLine("-- Loser --");
Console.WriteLine(team1 + " - " + team2Percent);
}
}
}
注:安装CSQuery作为NuGet包
哇,谢谢你的详细解答,当我有机会继续这个工作时,我会测试一下。非常感谢你,如果它正在努力,我会将它标记为答案。此外,我从来没有做过网络刮,所以这将是第一个xD – Cleaven
无后顾之忧。我相信这是你正在努力的方向。这只是关于网络刮板的选项。 CSQuery和Html Agility Pack对于你正在努力完成的任务来说是非常不错的网页抓取工具。尝试摆弄他们两个(甚至其他人),以获得它的感觉,以更好地理解你的偏好。 –