C# HttpWebRequest (Aktueller Track auslesen)

04/22/2014 16:46 .Marcel'#1
Servus Leute,

ich bin noch neu in der Welt von C#, und heute möchte ich mir gerne den HttpWebRequest näher anschauen, zur Übung arbeite ich an einem Radio Programm, dass verschiedene WebRadios streamt, das funktioniert auch alles einwandfrei, nur möchte ich das Programm nun mit einer "Aktuellen Track" anzeige ausstatten.

Wie gehe ich dabei am besten vor ?

Ich möchte bspw. von der Seite: Rautemusik, den Aktuellen Track auslesen, und in meinem Programm anzeigen lassen...
04/22/2014 16:51 Requi#2
WebRequest auf [Only registered and activated users can see links. Click Here To Register...]

Und mit RegExp oder mit der HttpUtility Library diesen Part auslesen:
HTML Code:
<div class="right info">
							<p class="title"><a class="track" href="/musik/Punkrockerz-feat-Carmen-Camille/IDGAF-(Vanilla-Kiss-Remix)/">IDGAF (Vanilla Kiss Remix)</a></p>
							<p class="artist"><a class="artist" href="/musik/Punkrockerz-feat-Carmen-Camille/">Punkrockerz feat. Carmen & Camille</a></p>
													</div>
04/22/2014 17:25 .Marcel'#3
Quote:
Originally Posted by Requi View Post
WebRequest auf [Only registered and activated users can see links. Click Here To Register...]

Und mit RegExp oder mit der HttpUtility Library diesen Part auslesen:
HTML Code:
<div class="right info">
							<p class="title"><a class="track" href="/musik/Punkrockerz-feat-Carmen-Camille/IDGAF-(Vanilla-Kiss-Remix)/">IDGAF (Vanilla Kiss Remix)</a></p>
							<p class="artist"><a class="artist" href="/musik/Punkrockerz-feat-Carmen-Camille/">Punkrockerz feat. Carmen & Camille</a></p>
													</div>
Vielen Dank, ein kleiner Gedanken anstoß wäre jedoch Hilfreich, da ich noch nie mit der HttpUtility oder Regexp Library gearbeitet habe, wie gehe ich jetzt am besten vor um den Artist und Track heraus zu filten ?
04/22/2014 17:35 Requi#4
[Only registered and activated users can see links. Click Here To Register...]

Code:
string input; //html code
string pattern = @"\b(\w+)\s\1\b"; //Beispiel Pattern *
Regex rgx = new Regex(pattern, RegexOptions.IgnoreCase);
MatchCollection matches = rgx.Matches(input);
   if (matches.Count > 0)
   {
      Console.WriteLine("{0} ({1} matches):", input, matches.Count);
      foreach (Match match in matches)
         Console.WriteLine("   " + match.Value);
   }
*Hier generieren: [Only registered and activated users can see links. Click Here To Register...]
04/22/2014 18:31 .Marcel'#5
Quote:
Originally Posted by Requi View Post
[Only registered and activated users can see links. Click Here To Register...]

Code:
string input; //html code
string pattern = @"\b(\w+)\s\1\b"; //Beispiel Pattern *
Regex rgx = new Regex(pattern, RegexOptions.IgnoreCase);
MatchCollection matches = rgx.Matches(input);
   if (matches.Count > 0)
   {
      Console.WriteLine("{0} ({1} matches):", input, matches.Count);
      foreach (Match match in matches)
         Console.WriteLine("   " + match.Value);
   }
*Hier generieren: [Only registered and activated users can see links. Click Here To Register...]
Danke, aber ich verstehs nicht, ka kann auch sein das mein Hirn im Urlaub nicht funktioniert... könntest du mir mal ein beispiel mit der HttpUtility Library geben ? vielleicht verstehe ich es damit...
04/22/2014 18:43 Requi#6
Code:
string input; //html code
string pattern = @"\b(\w+)\s\1\b"; //Beispiel Pattern *
Regex rgx = new Regex(pattern, RegexOptions.IgnoreCase); //Erstelle neuen Regex mit dem oben angegeben Pattern
MatchCollection matches = rgx.Matches(input); //Matche alles was zu dem Pattern passt.
   if (matches.Count > 0) //Wenn matches größer als 0 ist
   {
      Console.WriteLine("{0} ({1} matches):", input, matches.Count); //Schreibe in die Konsole den input und die Anzahl der matches
      foreach (Match match in matches) //gehe jedes match in den matches durch
         Console.WriteLine("   " + match.Value); //schreibe den Match in die Konsolenzeile
   }
Einmal auskommentiert.

Mit der Library habe ich selbst noch nie gearbeitet, kann also schlecht ein Beispiel geben.
04/22/2014 20:25 Mostey#7
Quote:
Originally Posted by .Marcel' View Post
Danke, aber ich verstehs nicht, ka kann auch sein das mein Hirn im Urlaub nicht funktioniert... könntest du mir mal ein beispiel mit der HttpUtility Library geben ? vielleicht verstehe ich es damit...
Um reguläre Ausdrücke zu verstehen, sollte man sich vorher schon anschauen, was die Funktionen im einzelnen machen und speziell eher, welche Pattern was bedeuten.

Wie auch immer, die Geschichte mit WebRequest, Regex und Parsern hatten wir schon relativ oft, daher solltest du mal die Suchfunktion benutzen.
05/04/2014 22:55 TeamFAiTh#8
Ich persönlich würde mit der bass.dll arbeiten.

Sie spielt einen Track für dich ab und kann aus der mp3 schon den Titel auslesen.
Somit kannst du auch von anderen Seiten außer nur Rautemusik den Titel des Liedes auslesen ;)


Gruß
iL0v3SuN