@ilia_bzlv

Как спарсить вакансии с сайта с авторизацией при помощи cURL?

Необходимо спарсить вакансии с данного сайта https://jobs.tut.by/account/login?backurl=%2F, предварительно пройдя авторизацию
Использую cURL, возможно что-то не учел

Заранее спасибо!)))

<?php 

require_once 'phpQuery/phpQuery/phpQuery.php';
include ('simple_html_dom.php');


 function curl_get($url, $referer = 'https://www.google.by/')
{
  $curl = curl_init($url);
  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_POST, false);
  curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Mobile Safari/537.36');  
  curl_setopt($curl, CURLOPT_COOKIEJAR, str_replace("\\", "/", getcwd()).'/cookies.txt'); 
    curl_setopt($curl, CURLOPT_COOKIEFILE, str_replace("\\", "/", getcwd()).'/cookies.txt'); 
  curl_setopt($curl, CURLOPT_REFERER, $referer);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
  curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
  $data = curl_exec($curl);
  return $data;

  curl_close($curl);
}
/*--- Авторизация при помощи cURL */
function request($url, $postdata, $headers, $referer = 'https://www.google.by/' ) {
    /*
    $page_url - адрес страницы-источника
    $user_data - данные для авторизации
    
    */
    $ch = curl_init($url);

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Mobile Safari/537.36');  
    curl_setopt($ch, CURLOPT_REFERER, $referer);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_COOKIEJAR, str_replace("\\", "/", getcwd()).'/cookies.txt'); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, str_replace("\\", "/", getcwd()).'/cookies.txt'); 
     
    //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true) ;
    curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, false); 
    curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false); 

   if ($postdata) {
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postdata));

   }


  $response = curl_exec($ch);
  return $response;
}

$url_auth = 'https://jobs.tut.by/account/login?backurl=%2F';
$auth_data = [
  'backUrl' => 'https://jobs.tut.by',
  'failUrl' => '/account/login?backurl=%2F',
  'username' => ' ',
  'password' => ' ',
  'remember' => 'yes',
  '_xsrf' => ' ',
  'data-qa' => ' '
];

$headers = [
  'accept' => ' ',
  'accept-language' => ' ',
  'content-type' => ' ',
];

$htm = request ($url_auth, $auth_data, $headers);
echo $htm;
$html = curl_get ($url_auth);
echo $html;

?>
  • Вопрос задан
  • 268 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
проверяй отладку через Хром F12 Network
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
25 апр. 2024, в 16:12
2000 руб./за проект
25 апр. 2024, в 16:08
100000 руб./за проект