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

?>
  • Вопрос задан
  • 176 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
КАКОЙ ТЫ ДИВАН?
проверяй отладку через Хром F12 Network
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Spice IT Recruitment Москва
До 230 000 ₽
ImageSpark Санкт-Петербург
от 60 000 ₽
FrozenEon Киев
от 1 500 до 3 000 $
02 июн. 2020, в 11:00
3000 руб./за проект
02 июн. 2020, в 10:46
1 руб./за проект
02 июн. 2020, в 09:33
5000 руб./за проект