use Data::Printer;
use Text::Wrap;
use POSIX qw(strftime);
+use DateTime;
tie my $uuid, 'OSSP::uuid::tie';
$uuid= ["v1"];
job_selector => [url_regex => qr{^/naturejobs/science/jobs/\d+-.+}],
university => [href => qr{^/naturejobs/science/employer-directory/\d+$}],
description => [class=>"job-description"],
- date => [content => qr/\d+\s+days\s+ago$/],
+ date => [_tag => 'dd', sub {$_[0]->as_text() =~ qr/\d+\s+days\s+ago$/},],
position => [class=>'job-title heading'],
},
vitae => {url => 'https://chroniclevitae.com/job_search?job_search%5Bdistance_from_zip%5D=10&job_search%5Bemployment_type%5D=Full-time&job_search%5Bposition_type%5D=63',
eval {
$date = $m->tree->look_down(@{$s->{date}})->as_text() // $todays_date if
@{$s->{date}};
- if ($date =~ /(\d+)\s+days ago$/) {
+ if ($date =~ /^\s*(\d+)\s*days\s*ago\s*$/) {
$date = strftime('%Y-%m-%d %H:%M:%S',
localtime((DateTime->now() -
- DateTime::Duration->new(days=>$1))->epoch));
+ DateTime::Duration->new(days=>$1))->epoch));
}
};
my $description = 'unknown';