Hello everyone,
I'm trying to get some text via a C# console app from a web page. The text I'm trying to get is the current players from our Battlefield 3 server we are renting.
The url is: http://battlelog.battlefield.com/bf3/servers/show/bcc85e8a-c2fd-41a4-98f4-21548297a9b1/
Obvious, the text I need is this: http://prntscr.com/4qbiz
I have some code that works, but I was wondering if there was a simpler way to do this.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Text.RegularExpressions;
namespace bf3server
{
class Program
{
private const string url =
"http://battlelog.battlefield.com/bf3/servers/show/bcc85e8a-c2fd-41a4-98f4-21548297a9b1/";
private const string regexTemplate = ">([^<>]*?{0}[^<>]*?)<";
static void Main(string[] args)
{
WebClient client = new WebClient();
string html = client.DownloadString(url);
string players = "0 / 64";
Regex regex = new Regex(string.Format(regexTemplate, players), RegexOptions.IgnoreCase);
var matches = regex.Matches(html);
foreach (Match match in matches)
Console.WriteLine("Current Players: " + match.Groups[1].Value);
}
}
}
I really don't want to have to write 64 player strings and 64 regex variables and 64 match variables. Is there some easier logic I could use to get the nunber of players, which constantly changes? Thanks to anyone who can help.