@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;

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

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

Похожие вопросы