예제 #1
0
		public void loadSendetermine(Serie serie)
		{
			string urlQuelle = "http://www.fernsehserien.de/";
			string serienNameEdit = serie.Name.Replace (" ", "-");
			string url = urlQuelle + serienNameEdit + "/sendetermine/"; 

			for (int index = -1; index > -50; index--)
			{
				string page = url + string.Format("{0}", index);
				string html = "";
				try
				{
					html = getHTML (page);
				}
				catch (Exception ex)
				{
					string text = "Source:\t" + ex.Source + "\nMessage: \t" + ex.Message + "\nData:\t" + ex.Data;
					Console.Write (text);
					//LogWindow.log (LogLevel.Error, ex.Message);

				}


				HtmlDocument doc = new HtmlDocument();
				doc.LoadHtml (html);
				var temp = doc.DocumentNode.SelectNodes ("//tbody");
				int sendeterminCounter = 1;
				foreach (HtmlNode tbody in temp)
				{
					try
					{
						var liste = tbody.Descendants ().Where (x => x.Name == "td").Where(x=>x.InnerText.Length > 0);

						Sendetermin einSendetermin = new Sendetermin ();
						einSendetermin.Wochentag = liste.ElementAt(0).InnerText;
						einSendetermin.Datum =  Convert.ToDateTime(liste.ElementAt(1).InnerText);
						if(einSendetermin.Datum.Year < 2013)
						{
							index = -51;
							break;
						}

						einSendetermin.Sendezeit = liste.ElementAt (2).InnerText;

						einSendetermin.Sender = liste.ElementAt (3).InnerText;
						string nummerInSerie = liste.ElementAt(4).InnerText;

						serie.GetEpisode(nummerInSerie).AddSendetermin(sendeterminCounter, einSendetermin);
						sendeterminCounter++;
					}
					catch (Exception ex)
					{
						string text = "Source:\t" + ex.Source + "\nMessage: \t" + ex.Message + "\nData:\t" + ex.Data;
						Console.Write (text);
					}

				}
				
			}
		}