używając Perla do zeskrobania strony

Jestem zainteresowany napisaniem skryptu perla, który przechodzi do następującego linku i wyodrębnia numer 1975:https://familysearch.org/search/collection/results#count=20&query=%2Bevent_place_level_1%3ACalifornia%20%2Bevent_place_level_2%3A%22San%20Diego%22%20%2Bbirth_year%3A1923-1923~%20%2Bgender%3AM% 20% 2Brace% 3AWhite i id_kolekcji = 2000219

Ta strona internetowa to liczba białych mężczyzn urodzonych w 1923 r., Którzy mieszkają w hrabstwie San Diego w Kalifornii w 1940 r. Próbuję to zrobić w pętli, aby uogólnić na wiele okręgów i lata urodzenia.

W pliku location.txt umieściłem listę powiatów, takich jak Hrabstwo San Diego.

Bieżący kod działa, ale zamiast # 1975 wyświetla nieznany. Liczba 1975 powinna być w $ val.

Byłbym bardzo wdzięczny za każdą pomoc!

#!/usr/bin/perl

use strict;

use LWP::Simple;

open(L, "locations26.txt");

my $url = 'https://familysearch.org/search/collection/results#count=20&query=%2Bevent_place_level_1%3A%22California%22%20%2Bevent_place_level_2%3A%22%LOCATION%%22%20%2Bbirth_year%3A%YEAR%-%YEAR%~%20%2Bgender%3AM%20%2Brace%3AWhite&collection_id=2000219';

open(O, ">out26.txt");
 my $oldh = select(O);
 $| = 1;
 select($oldh);
 while (my $location = <L>) {
     chomp($location);
     $location =~ s/ /+/g;
      foreach my $year (1923..1923) {
                 my $u = $url;
                 $u =~ s/%LOCATION%/$location/;
                 $u =~ s/%YEAR%/$year/;
                 #print "$u\n";
                 my $content = get($u);
                 my $val = 'unknown';
                 if ($content =~ / of .strong.([0-9,]+)..strong. /) {
                         $val = $1;
                 }
                 $val =~ s/,//g;
                 $location =~ s/\+/ /g;
                 print "'$location',$year,$val\n";
                 print O "'$location',$year,$val\n";
         }
     }

Aktualizacja: API nie jest realnym rozwiązaniem. Kontaktowałem się z twórcą strony. Interfejs API nie dotyczy tej części strony internetowej. Dlatego żadne rozwiązanie dotyczące JSON nie będzie miało zastosowania.

questionAnswers(7)

yourAnswerToTheQuestion