スクレイピングの目的で .txt からデータをロードしています。ただし、URL では、その変数を分割して +/- 2 を実行する必要があります。たとえば、値が 2342 の場合、URL のために 2340 と 2344 を作成する必要があります。
私はそれを分割する方法を推測しました:
$args{birth_year} = ($args{birth_year} - 2) . '-' . ($args{birth_year} + 2);
どうすればそれをURLに入れることができますか?
コードの関連部分は次のとおりです。
use strict;
use warnings;
use WWW::Mechanize::Firefox;
use Data::Dumper;
use LWP::UserAgent;
use JSON;
use CGI qw/escape/;
use HTML::DOM;
open(my $l, 'locations2.txt') or die "Can't open locations: $!";
while (my $line = <$l>) {
chomp $line;
my %args;
@args{qw/givenname surname birth_place birth_year gender race/} = split /,/, $line;
$args{birth_year} = ($args{birth_year} - 2) . '-' . ($args{birth_year} + 2);
my $mech = WWW::Mechanize::Firefox->new(create => 1, activate => 1);
$mech->get("https://familysearch.org/search/collection/index#count=20&query=%2Bgivenname%3A$args{givenname}20%2Bsurname%3A$args{surname}20%2Bbirth_place%3A$args{birth_place}%20%2Bbirth_year%3A1910-1914~%20%2Bgender%3A$args{gender}20%2Brace%3A$args{race}&collection_id=2000219");
例えば
入力は次のとおりです。
Benjamin,Schuvlein,Germany,1912,M,White
希望の URL は次のとおりです。