@@ -13,8 +13,29 @@ namespace livesoccertv.com
1313{
1414 public class WebSiteGrabber : GrabberBase
1515 {
16+ string [ ] userAgents = {
17+ "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:138.0) Gecko/20100101 Firefox/138.0" ,
18+ "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0" ,
19+ "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0"
20+ } ;
21+
22+ int _userAgentCounter = 0 ;
23+
24+ string GetNextUserAgent ( )
25+ {
26+ if ( _userAgentCounter >= userAgents . Length )
27+ {
28+ _userAgentCounter = 0 ;
29+ }
30+ return userAgents [ _userAgentCounter ++ ] ;
31+ }
32+
1633 public override List < Show > Grab ( string xmlParameters , ILogger logger )
1734 {
35+ const string ErrorPrefix = "livesoccertv.com" ;
36+
37+ logger . WriteEntry ( "Started livesoccertv.com grab" , LogType . Info ) ;
38+
1839 var shows = new List < Show > ( ) ;
1940
2041 const string BaseUrl = "https://www.livesoccertv.com/channels/" ;
@@ -28,7 +49,7 @@ public override List<Show> Grab(string xmlParameters, ILogger logger)
2849 logger . WriteEntry ( $ "Grabbing Channel { channel } ", LogType . Info ) ;
2950 var url = $ "{ BaseUrl } { channel } /";
3051 var wr = ( HttpWebRequest ) WebRequest . Create ( url ) ;
31- wr . UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0" ;
52+ wr . UserAgent = GetNextUserAgent ( ) ;
3253 wr . Timeout = 10000 ;
3354 var channelShows = new List < Show > ( ) ;
3455 using ( var res = wr . GetResponse ( ) )
@@ -43,8 +64,8 @@ public override List<Show> Grab(string xmlParameters, ILogger logger)
4364 {
4465 var show = new Show ( ) ;
4566 show . Channel = channel ;
46- show . Title = row . QuerySelector ( "td[id=match]" ) . InnerText ;
47- show . Description = row . QuerySelector ( "td.compcell_right" ) . InnerText ;
67+ show . Title = row . QuerySelector ( "td[id=match]" ) . InnerText ? . Trim ( ) ;
68+ show . Description = row . QuerySelector ( "td.compcell_right" ) . InnerText ? . Trim ( ) ;
4869 var el = row . QuerySelector ( "td.timecol span.ts" ) ;
4970 if ( el != null )
5071 {
@@ -54,7 +75,7 @@ public override List<Show> Grab(string xmlParameters, ILogger logger)
5475 }
5576 catch ( Exception ex )
5677 {
57- logger . LogException ( ex ) ;
78+ logger . LogException ( ex , ErrorPrefix ) ;
5879 }
5980 }
6081 }
@@ -64,9 +85,10 @@ public override List<Show> Grab(string xmlParameters, ILogger logger)
6485 }
6586 catch ( Exception ex )
6687 {
67- logger . LogException ( ex ) ;
88+ logger . LogException ( ex , ErrorPrefix ) ;
6889 }
6990 }
91+ logger . WriteEntry ( "Finished livesoccertv.com grab" , LogType . Info ) ;
7092 return shows ;
7193 }
7294 }
0 commit comments