@@ -570,36 +570,27 @@ class FormulaOneScraper {
570570
571571 String endpoint = Hive .box ('settings' )
572572 .get ('server' , defaultValue: defaultEndpoint) as String ;
573- String f1Endpoint =
574- endpoint != defaultEndpoint ? endpoint : 'https://www.formula1.com' ;
575- Uri driverDetailsUrl =
576- Uri .parse ('$f1Endpoint /en/drivers/hall-of-fame.html ' );
573+ String f1Endpoint = endpoint != defaultEndpoint
574+ ? endpoint + '/f1'
575+ : Constants (). F1_WEBSITE_URL ;
576+ Uri driverDetailsUrl = Uri .parse ('$f1Endpoint /en/drivers/hall-of-fame' );
577577
578578 http.Response response = await http.get (driverDetailsUrl);
579579 if (response.statusCode == HttpStatus .ok) {
580580 dom.Document document = parser.parse (response.body);
581- List <dom.Element > elements = document. querySelectorAll (
582- 'a.column.column-4 [href*="/en/drivers/ hall-of-fame/"][href \$ =".html "]' );
581+ List <dom.Element > elements = document
582+ . querySelectorAll ( 'a [href*="/en/information/drivers- hall-of-fame"]' );
583583
584584 for (dom.Element element in elements) {
585- List <String > driverInfo = element
586- .getElementsByClassName ('teaser-info-title' )
587- .first
588- .text
589- .trim ()
590- .split (' - ' );
591- String driverName = driverInfo[0 ];
592- String driverYears = driverInfo[1 ];
593-
594- dom.Element imageElement = element
595- .getElementsByTagName ('img' )
596- .firstWhere ((e) => e.classes.contains ('hidden' ));
585+ String driverName =
586+ element.getElementsByClassName ('f1-heading' )[0 ].text.trim ();
587+
588+ dom.Element imageElement = element.getElementsByTagName ('img' )[0 ];
597589 String driverImage = imageElement.attributes['src' ] ?? '' ;
598590
599591 String driverUrl = f1Endpoint + element.attributes['href' ]! ;
600592
601- results.add (
602- HallOfFameDriver (driverName, driverYears, driverUrl, driverImage));
593+ results.add (HallOfFameDriver (driverName, driverUrl, driverImage));
603594 }
604595 }
605596
@@ -611,34 +602,21 @@ class FormulaOneScraper {
611602 final Uri driverDetailsUrl = Uri .parse (pageUrl);
612603 http.Response response = await http.get (driverDetailsUrl);
613604 dom.Document document = parser.parse (utf8.decode (response.bodyBytes));
614- if (pageUrl.endsWith ('Max_Verstappen.html' )) {
615- dom.Element tempResult =
616- document.getElementsByClassName ('f1-article--content' )[1 ];
617- results['metaDescription' ] = tempResult
618- .getElementsByClassName ('f1-article--rich-text' )[0 ]
619- .getElementsByTagName ("strong" )[0 ]
620- .text;
621- List parts = [];
622- tempResult.getElementsByClassName ('f1-article--rich-text' ).forEach (
623- (paragraph) => paragraph.getElementsByTagName ('p' ).forEach (
624- (element) => parts.add (element.text),
625- ),
626- );
627- results['parts' ] = parts.sublist (1 );
628- return results;
629- } else {
630- dom.Element tempResult = document.getElementsByTagName ('main' )[0 ];
631- results['metaDescription' ] =
632- tempResult.getElementsByClassName ('strapline' )[0 ].text;
633- List parts = [];
634- tempResult.getElementsByClassName ('text parbase' ).forEach (
635- (paragraph) => paragraph.getElementsByTagName ('p' ).forEach (
636- (element) => parts.add (element.text),
637- ),
638- );
639- results['parts' ] = parts;
640- return results;
641- }
605+ dom.Element tempResult = document.getElementById ('maincontent' )! ;
606+ dom.Element content = tempResult.getElementsByTagName ('article' )[1 ];
607+
608+ results['metaDescription' ] = content
609+ .getElementsByTagName ('p' )[0 ]
610+ .getElementsByTagName ('strong' )[0 ]
611+ .text;
612+ List parts = [];
613+ tempResult.getElementsByClassName ('prose' ).forEach (
614+ (paragraph) => paragraph.getElementsByTagName ('p' ).forEach (
615+ (element) => parts.add (element.text),
616+ ),
617+ );
618+ results['parts' ] = parts.sublist (1 );
619+ return results;
642620 }
643621
644622 Future <Map > scrapeCircuitFactsAndHistory (
@@ -719,13 +697,13 @@ class FormulaOneScraper {
719697
720698class HallOfFameDriver {
721699 String driverName;
722- String years;
700+ /* String years; */
723701 String detailsPageUrl;
724702 String imageUrl;
725703
726704 HallOfFameDriver (
727705 this .driverName,
728- this .years,
706+ /* this.years, */
729707 this .detailsPageUrl,
730708 this .imageUrl,
731709 );
0 commit comments