@@ -20,32 +20,25 @@ public ArcaParser(WebDriver driver, ApiClientManager clientManager, Dictionary<s
2020 public override async Task < RipInfo > Parse ( )
2121 {
2222 var soup = await Soupify ( ) ;
23- var dirName = soup . SelectSingleNode ( "//div[@class='title']" ) . InnerText ;
24- var mainTag = soup . SelectSingleNode ( "//div[@class='fr-view article-content']" ) ;
23+ var dirName = soup . SelectSingleNodeOrThrow ( "//div[@class='title']" ) . InnerText ;
24+ var mainTag = soup . SelectSingleNodeOrThrow ( "//div[@class='fr-view article-content']" ) ;
2525
2626 var images = new List < StringImageLinkWrapper > ( ) ;
27- var imgNodes = mainTag . SelectNodes ( ".//img" ) ;
28- if ( imgNodes is not null )
29- {
30- var imageList = mainTag . SelectNodes ( ".//img" ) . GetSrcs ( ) ;
31- var imgs = imageList
32- . Select ( image => image . Split ( "?" ) [ 0 ] + "?type=orig" ) // Remove query string and add type=orig
33- . Select ( img => ! img . Contains ( Protocol ) ? Protocol + img : img ) // Add protocol if missing
34- . Select ( dummy => ( StringImageLinkWrapper ) dummy ) // Convert to StringImageLinkWrapper
35- . ToList ( ) ;
36- images . AddRange ( imgs ) ;
37- }
27+ var imageList = mainTag . SelectNodesSafe ( ".//img" ) . GetSrcs ( ) ;
28+ var imgs = imageList
29+ . Select ( image => image . Split ( "?" ) [ 0 ] + "?type=orig" ) // Remove query string and add type=orig
30+ . Select ( img => ! img . Contains ( Protocol ) ? Protocol + img : img ) // Add protocol if missing
31+ . Select ( dummy => ( StringImageLinkWrapper ) dummy ) // Convert to StringImageLinkWrapper
32+ . ToList ( ) ;
33+ images . AddRange ( imgs ) ;
3834
39- var videoNodes = mainTag . SelectNodes ( ".//video" ) ;
40- if ( videoNodes is not null )
41- {
42- var videoList = mainTag . SelectNodes ( ".//video" ) . GetSrcs ( ) ;
43- var videos = videoList
44- . Select ( video => ! video . Contains ( Protocol ) ? Protocol + video : video )
45- . Select ( dummy => ( StringImageLinkWrapper ) dummy )
46- . ToList ( ) ;
47- images . AddRange ( videos ) ;
48- }
35+ var videoList = mainTag . SelectNodesSafe ( ".//video" ) . GetSrcs ( ) ;
36+ var videos = videoList
37+ . Select ( video => ! video . Contains ( Protocol ) ? Protocol + video : video )
38+ . Select ( dummy => ( StringImageLinkWrapper ) dummy )
39+ . ToList ( ) ;
40+ images . AddRange ( videos ) ;
41+
4942
5043 return RipInfo . FromUrlList ( images , dirName , FilenameScheme ) ;
5144 }
0 commit comments