@@ -182,8 +182,9 @@ static SauceNaoDataResult Parse(INode result)
182182
183183 // Contains links
184184 var resultmiscinfo = resultmatchinfo . ChildNodes [ 1 ] ;
185- var resultcontent = resulttablecontent . ChildNodes [ 1 ] ;
185+ // var resultcontent = resulttablecontent.ChildNodes[1];
186186 // var resultcontentcolumn = resultcontent.ChildNodes[1];
187+ var resultcontent = ( ( IElement ) result ) . GetElementsByClassName ( "resultcontent" ) [ 0 ] ;
187188
188189 IHtmlCollection < IElement > resultcontentcolumn_rg = null ;
189190
@@ -196,7 +197,8 @@ static SauceNaoDataResult Parse(INode result)
196197 var links = new List < string > ( ) ;
197198
198199 if ( resulttablecontent is IElement { } e ) {
199- var links1 = e . QuerySelectorAll ( "a" ) . Select ( x => x . GetAttribute ( Serialization . Atr_href ) ) ;
200+ var links1 = e . QuerySelectorAll ( Serialization . Tag_a )
201+ . Select ( x => x . GetAttribute ( Serialization . Atr_href ) ) ;
200202 links . AddRange ( links1 ) ;
201203 }
202204
@@ -258,15 +260,15 @@ static SauceNaoDataResult Parse(INode result)
258260 var nStr = n . TextContent ;
259261 var n2Str = n2 . TextContent ;
260262
261- if ( synonyms . Any ( s => nStr . StartsWith ( s ) ) ) {
263+ if ( synonyms . Any ( nStr . StartsWith ) ) {
262264 creator1 = n2Str ;
263265 }
264266
265- if ( material . Any ( s => nStr . StartsWith ( s ) ) ) {
267+ if ( material . Any ( nStr . StartsWith ) ) {
266268 material1 = n2Str ;
267269 }
268270
269- if ( characters . Any ( s => nStr . StartsWith ( s ) ) ) {
271+ if ( characters . Any ( nStr . StartsWith ) ) {
270272 characters1 = n2Str ;
271273 }
272274 }
@@ -310,6 +312,48 @@ static SauceNaoDataResult Parse(INode result)
310312
311313 } ;
312314
315+ /*foreach (INode rccn in resultcontent.ChildNodes) {
316+ foreach (string s in material) {
317+ if (rccn.TextContent.StartsWith(s)) {
318+ dataResult.Material = rccn.TextContent.Split(s)[1];
319+
320+ }
321+ }
322+ }*/
323+ foreach ( IElement element1 in resultcontent . QuerySelectorAll ( "strong" ) ) {
324+ for ( int i = 0 ; i < element1 . Children . Length - 1 ; i += 2 ) {
325+ IElement ec1 = element1 . Children [ i ] ;
326+
327+ if ( ec1 . TagName == "BR" ) {
328+ continue ;
329+ }
330+
331+ foreach ( string m in material ) {
332+ if ( ec1 . TextContent . StartsWith ( m ) ) {
333+ dataResult . Material = element1 . Children [ ++ i ] . TextContent ;
334+ break ;
335+ }
336+
337+ }
338+
339+ foreach ( string m in characters ) {
340+ if ( ec1 . TextContent . StartsWith ( m ) ) {
341+ dataResult . Character = element1 . Children [ ++ i ] . TextContent ;
342+ break ;
343+ }
344+
345+ }
346+
347+ foreach ( string m in synonyms ) {
348+ if ( ec1 . TextContent . StartsWith ( m ) ) {
349+ dataResult . Creator = element1 . Children [ ++ i ] . TextContent ;
350+ break ;
351+ }
352+
353+ }
354+ }
355+ }
356+
313357 return dataResult ;
314358
315359 }
@@ -410,7 +454,8 @@ private async Task<IEnumerable<SauceNaoDataResult>> GetAPIResultsAsync(SearchQue
410454
411455 private static SearchResultItem ConvertToImageResult ( SauceNaoDataResult sn , SearchResult r )
412456 {
413- string siteName = sn . Index != 0 ? sn . Index . ToString ( ) : null ;
457+ var idxStr = sn . Index . ToString ( ) ;
458+ string siteName = sn . Index != 0 ? idxStr : null ;
414459
415460 var site = Strings . NormalizeNull ( siteName ) ;
416461 var title = Strings . NormalizeNull ( sn . WebsiteTitle ) ;
@@ -439,15 +484,13 @@ private static SearchResultItem ConvertToImageResult(SauceNaoDataResult sn, Sear
439484 if ( ( urls . Length >= 2 ) ) {
440485 meta = urls [ 1 ..] ;
441486 }
442- else {
443-
444- }
487+ else { }
445488
446489 var imageResult = new SearchResultItem ( r )
447490 {
448491 Url = urls . FirstOrDefault ( ) ,
449492 Similarity = Math . Round ( sn . Similarity , 2 ) ,
450- Description = Strings . NormalizeNull ( sn . Index . ToString ( ) ) ,
493+ Description = Strings . NormalizeNull ( idxStr ) ,
451494 Artist = Strings . NormalizeNull ( sn . Creator ) ,
452495 Source = Strings . NormalizeNull ( sn . Material ) ,
453496 Character = Strings . NormalizeNull ( sn . Character ) ,
0 commit comments