Установка
Установите модуль WebService::Careerjet через cpnam
cpanm -S WebService::Careerjet
Документация
Полную документацию по модулю можно найти здесь
Важные примечания:
- Параметры GET
и являются обязательными и должны быть заменены на реальные значения. - поле заголовка
Referer
является обязательным и содержит страницу, с которой был изначально инициирован вызов API. Например, если ваша страница —https://example-publisher-site.com/find-jobs/
, то поле Referer должно содержать именно это значение. - поля
search
иlocation
необязательны, но ограничены вашей страной
Пример кода
use Careerjet_API;
my $api_key = '<API_KEY>';
my $locale_code = 'ru_KZ';
my $user_ip = '<USER_IP>';
my $user_agent = '<USER_AGENT>';
my $referer = 'https:///find-jobs/?s=perl+developer&l=Москва'
# Create Perl interface to API
my $search_api = WebService::Careerjet->new($locale_code, $api_key);
# Perform a search
my $result = $search_api->search({
'keywords' => 'perl developer',
'location' => 'Москва',
'page' => 1,
'sort' => 'releveance',
'user_ip' => $user_ip,
'user_agent' => $user_agent,
'referrer' => $referrer,
});
# Go through results
if ($result->{type} eq 'JOBS') {
print "Found ". $result->{hits}. " jobs on " . $result->{pages} . " pages\n";
my $ra_jobs = $result->{jobs};
foreach my $job(@$ra_jobs) {
print "URL :".$job->{url}."\n";
print "TITLE :".$job->{title}."\n";
print "COMPANY :".$job->{company}."\n";
print "SALARY :".$job->{salary}."\n";
print "DATE :".$job->{date}."\n";
print "DESCRIPTION :".$job->{description}."\n";
print "LOCATIONS :".$job->{locations}."\n";
print "\n";
}
}
# когда несколько мест соответствуют введённому местоположению
# необходимо выполнить новый поиск с одним из предложенных мест
if ($result->{type} == 'LOCATIONS') {
foreach my $loc(@{$result->locations}) {
print $loc->{name} . "\n";
}
}