За последние 24 часа нас посетили 22590 программистов и 1207 роботов. Сейчас ищет 741 программист ...

Парсер сайта

Тема в разделе "PHP для новичков", создана пользователем Hovik, 1 апр 2020.

Статус темы:
Закрыта.
  1. Hovik

    Hovik Активный пользователь

    С нами с:
    22 окт 2018
    Сообщения:
    89
    Симпатии:
    0
    Привет всем, у меня есть класс парсер , честно говоря я ее давно написал и не один раз оно меня не подводила, но сейчас как мне кажется, я попадаю в бесконечны цикл редиректа ,кто знает как устроенна это зашита (как строить такую защиту и как ее обойти)
    PHP:
    1. class Parser{
    2.     private $ch;
    3.  
    4.     public function __construct($print = false){
    5.         $this->ch = curl_init();
    6.             if(!$print){
    7.              curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
    8.          }
    9.     }
    10.    
    11.     public function set($name,$value){
    12.         curl_setopt($this->ch, $name, $value);
    13.         return $this;
    14.     }
    15.  
    16.     public function get($url){
    17.         curl_setopt($this->ch, CURLOPT_URL, $url);
    18.         return curl_exec($this->ch);
    19.     }
    20.     public function __destruct(){
    21.         curl_close($this->ch);
    22.     }
    23.    
    24. }
    25.  
    26.  
    27.     $pars = new Parser(true);
    28.     $pars->set(CURLOPT_FOLLOWLOCATION,true)
    29.         ->set(CURLOPT_SSL_VERIFYHOST, false)
    30.         ->set(CURLOPT_SSL_VERIFYPEER, false)
    31.         ->set(CURLOPT_REFERER, 'https://www.eapteka.ru/')
    32.         ->set(CURLOPT_HTTPHEADER, [
    33.             'X-Requested-Width: XMLHttpRequest',
    34.             'Accept-Language: hy,ru-RU;q=0.9,ru;q=0.8,en;q=0.7,la;q=0.6'
    35.             ])
    36. //        ->set(CURLOPT_HEADER, true)
    37.         ->set(CURLOPT_USERAGENT,'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X)
    38.        AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1');
    39.  
    40.  
    41.   $pars->get('https://www.eapteka.ru/');
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.825
    Симпатии:
    738
    Адрес:
    Татарстан
    обсуждение парсеров запрещено правилами форума.
    а так - в общем - сначала зайти на сайт и посмотреть какие там редиректы
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    Парсеры не обсуждаем, тема закрыта
     
Статус темы:
Закрыта.