你有沒有做過網頁抓取過嗎?如果不是,那看起來就是你想要做的。 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對於你正在努力完成的任務來說是非常不錯的網頁抓取工具。嘗試擺弄他們兩個(甚至其他人),以獲得它的感覺,以更好地理解你的偏好。 –