Как решить проблему с парсингом в php скрипте?

Доброго время суток, уже неделю как мучаюсь, скрипт работает только через прокси.
А прокси каждый 5 минут перестают работать самом скрипте, с чем связано не известно.
Прощу помочь.

lic function Grab(){
            $proxy_host = ''; // Прокси в формате ip:port
            $proxy_auth = ''; // Логин с паролем в формате login:parol
            
			$agent = 'Mozilla/5.0 (Linux; Android 4.0.4; HUAWEI U9508 Build/HuaweiU9508) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19'; 
            $ch = curl_init($this->url);
			curl_setopt($ch, CURLOPT_USERAGENT, $agent);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
			curl_setopt($ch, CURLOPT_REFERER, 'https://google.com/');
            curl_setopt($ch, CURLOPT_PROXY, $proxy_host);
            curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxy_auth);
			curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

            $this->page = curl_exec($ch);
            $error = curl_error($ch);
            curl_close($ch);

            if ($error)
                die("Failed to grab olx page: " . $error);

            if (!$this->page)
                die("Failed to grab olx page.");
			
			$this->data["item"]["script_order"] = $this->FastCut($this->page, '<script type="text/javascript" src="https://static-olxeu.akamaized.net/static/olxua/packed/', "</script>");
			$this->data["item"]["script"] = $this->FastCut($this->page, '<!-- TRACKING CONTRIB -->', "<!-- TRACKING CONTRIB -->");
			$this->data["item"]["header"] = $this->FastCut($this->page, "<head>", "</head>");
            $this->data["page_title"] = $this->FastCut($this->page, "<title>", "</title>");
			$this->data["item"]["vetka"] = $this->FastCut($this->page, '<div class="rel breadcrumbbox">', '</div>');
			$this->data["item"]["price"] = $this->FastCut($this->page, '<strong class="xxxx-large not-arranged">', '</strong>');
			$this->data["item"]["price2"] = $this->FastCut($this->page, '<strong class="xxxx-large margintop7 block not-arranged">', '</strong>');
			$this->data["item"]["price3"] = $this->FastCut($this->page, '<strong class="xxxx-large not-arranged">', '</strong>');
			$this->data["item"]["map"] = $this->FastCut($this->page, '<div class="offer-user__location">', '</div>');
			$this->data["item"]["city"] = $this->FastCut($this->page, '<span class="block normal brkword">', '</span>');
			$this->data["item"]["dateshop"] = $this->FastCut($this->page, '<span class="block normal margintop5">', '</span>');
			$this->data["item"]["nameshop"] = $this->FastCut($this->page, '<span class="block brkword xx-large">', '</span>');
			$this->data["item"]["bigtitle"] = $this->FastCut($this->page, '<div class="pding5 clr">', '</div>');
			$this->data["item"]["more"] = $this->FastCut($this->page, '<span class="block">', '</span>');
			$this->data["item"]["user"] = $this->FastCut($this->page, '<div class="offer-user__details ">', '</div>');
			$this->data["item"]["or"] = $this->FastCut($this->page, '<div class="flagged-offers">', '</div>');
			$this->data["item"]["titlebox"] = $this->FastCut($this->page, '<h1>', '</h1>');
			$this->data["item"]["titlebox_detalis"] = $this->FastCut($this->page, '<div class="offer-titlebox__details">', '</div>');
			$this->data["item"]["title_offer"] = $this->FastCut($this->page, '<div class="offer-titlebox__buttons">', '</div>');
			$this->data["item"]["title_info"] = $this->FastCut($this->page, '<div class="clr lheight20 large" id="textContent">', '</div>');
			$this->data["item"]["img"] = $this->FastCut($this->page, '<div class="tcenter img-item">', '</div>');
			$this->data["item"]["views"] = $this->FastCut($this->page, '<div class="pdingtop10">', '</div>');
			$this->data["item"]["photo"] = $this->FastCut($this->page, '<div class="photosbar">', '</div>');
			$this->data["item"]["photo_opener"] = $this->FastCut($this->page, '<div id="photo-gallery-opener" class="photo-handler rel inlblk">', '</div>');


            return $this->data;
        }

        private function ToLinesArray($data){
            return explode("\n", $data);
        }

        private function FastCut($data, $from, $to){
            return explode($to, explode($from, $data)[1])[0];
        }
    }
  • Вопрос задан
  • 958 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Flexxi Автор вопроса
Нету решение?
Ответ написан
Комментировать
@Dr10s
Как определили что они перестают работать? Может Вас просто банить сервер на который вы обращаетесь?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект