File tree Expand file tree Collapse file tree 1 file changed +23
-4
lines changed
Expand file tree Collapse file tree 1 file changed +23
-4
lines changed Original file line number Diff line number Diff line change 4040 ' entitySearchResults' => [],
4141};
4242
43- my $file = mirror_file(' https://www.icann.org/en/accredited-registrars' );
43+ my $file ;
44+
45+ eval {
46+ $file = mirror_file(' https://www.icann.org/en/accredited-registrars' );
47+ };
48+
49+ die ($@ ) if ($@ );
50+
4451say STDERR ' retrieved registrar list, attempting to parse' ;
4552
4653my $doc = XML::LibXML-> load_html(
5461);
5562
5663say STDERR ' searching for embedded JSON...' ;
57- my $data = (grep { ' ng-state' eq $_ -> getAttribute(' id' ) && ' application/json' eq $_ -> getAttribute(' type' ) } $doc -> getElementsByTagName(' script' ))[0]-> childNodes-> item(0)-> data;
58- $data =~ s /\& q;/ "/ g ;
64+ my $rars ;
65+ eval {
66+ my $data = (grep { ' ng-state' eq $_ -> getAttribute(' id' ) && ' application/json' eq $_ -> getAttribute(' type' ) } $doc -> getElementsByTagName(' script' ))[0]-> childNodes-> item(0)-> data;
67+ $data =~ s /\& q;/ "/ g ;
68+
69+ my $object = $json -> decode(Encode::encode_utf8($data ));
5970
60- my $object = $json -> decode(Encode::encode_utf8($data ));
71+ $rars = $object -> {' accredited-registrars-{"languageTag":"en","siteLanguageTag":"en","slug":"accredited-registrars"}' }-> {' data' }-> {' accreditedRegistrarsOperations' }-> {' registrars' };
72+ };
73+
74+ die ($@ ) if ($@ );
75+
76+ if (scalar (@{$rars }) < 1) {
77+ say STDERR ' no registrars found, the page format may have changed...' ;
78+ exit (1);
79+ }
6180
6281my $rars = $object -> {' accredited-registrars-{"languageTag":"en","siteLanguageTag":"en","slug":"accredited-registrars"}' }-> {' data' }-> {' accreditedRegistrarsOperations' }-> {' registrars' };
6382
You can’t perform that action at this time.
0 commit comments