-
25.07.2011, 19:40 #1
- Registriert seit
- 09.11.2011
- Beiträge
- 128
Thanked 141 Times in 52 Posts[C#] Knuddels Online Nicks Crawler
Hi,
ich habe neulich folgende URL entdeckt: Chat - Knuddels.de
Dort werden jedes Mal per Zufall vier User aufgelistet, die online sind.
Ja, dazu mal ein Crawler in C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Text.RegularExpressions;
using System.IO;
namespace Knoedels_Nick_Crawler
{
class Program
{
static void Main(string[] args)
{
Console.Write("Anzahl: ");
int count;
while (!int.TryParse(Console.ReadLine(), out count))
Console.Write("Anzahl: ");
Console.WriteLine("Drücke Enter, um den Vorgang zu starten!");
Console.ReadLine();
List<String> crawledNicks = new List<String>();
int counter = 0;
while (counter < count)
{
String[] nicks = getNicks();
foreach (String nick in nicks)
{
if (counter == count)
break;
if (!crawledNicks.Contains(nick))
{
counter++;
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("[{0}] Crawled: '{1}'", new Object[] { counter, nick });
crawledNicks.Add(nick);
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("{0} ist bereits auf der Liste, es geht weiter!", nick);
}
}
}
Console.ForegroundColor = ConsoleColor.Gray;
Console.Write("Speichern? (Y/N): ");
char n;
while (!char.TryParse(Console.ReadLine().ToLower(), out n))
Console.Write("Speichern? (Y/N): ");
if (n.Equals('y'))
{
File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + String.Format("\\crawled {0}.txt", DateTime.Now.ToLongTimeString().Replace(":", "-")), crawledNicks.ToArray());
Console.WriteLine("Gespeichert.");
}
Console.WriteLine("Drücke Enter, um die Konsole zu schließen...");
Console.ReadLine();
}
static String[] getNicks()
{
String[] nicks = new String[4];
String content = new WebClient() { Encoding = Encoding.UTF8 }.DownloadString("http://www.knuddels.de/welcome.html");
MatchCollection matches = Regex.Matches(content, "title="\\s(?<nick>([^\\)]+)) \\((?<channel>([^\\)]+))\\)\\s" />");
// Channel könnt ihr noch weiter verwerten, falls ihr wollt...
for (int i = 0; i < 4; i++)
nicks[i] = matches[i].Groups["nick"].Value;
return nicks;
}
}
}
Ein Example:
Spoiler:
Ähnliche Themen
-
KQC - Knuddels Quiz Crawler v0.2 Beta
Von uncopyable im Forum Sonstige Knuddels Bots/SoftwareAntworten: 53Letzter Beitrag: 08.06.2012, 17:16 -
[code] Knuddels (alle!) Nick Crawler & /m, /p Flooder
Von Lyra im Forum ShowroomAntworten: 2Letzter Beitrag: 27.06.2011, 13:39 -
[C#] Knuddels Crawler ohne Login
Von Brainy im Forum SourcecodeAntworten: 7Letzter Beitrag: 22.06.2011, 23:35
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.