Re[2]: Проблемы с PHP Simple HTML DOM
От: Funny Rabbit Россия  
Дата: 22.07.19 08:44
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Здравствуйте, Funny Rabbit, Вы писали:


FR>>Делаю парсер сайта. надо собирать с него информацию (картинки, текст). Использую PHP Simple HTML DOM. Вопрос в следующем. Почему не выводиться 2?

_>1. Что показывает такой код?
_>
_>$data=@file_get_contents("https://casa.com.tr/lipari-585");
_>if (preg_match("|\S+\s+(\d+)|",$http_response_header[0],$m)) $error_code=intval($m[1],10); else $error_code=false;
_>$datalen=strlen($data);
_>echo "result=$error_code datalen=$datalen\n";
_>

_>У меня например просто пишет 404 и нет данных

У меня тоже пишет 404. Заголовки добавляю.

<?php    

require_once('ganon.php');

function grab_image($url,$saveto)
{
    $ch = curl_init ($url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
    $raw=curl_exec($ch);
    curl_close ($ch);
    if(file_exists($saveto)){
        unlink($saveto);
    }
    $fp = fopen($saveto,'x');
    fwrite($fp, $raw);
    fclose($fp);
}

$html = file_get_dom('https://casa.com.tr/en/products');
foreach($html('a') as $element) 
{
    //echo $element->href, "<br>\n"; 

    $options = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n" .  // check function.stream-context-create on php.net
              "User-Agent: Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.102011-10-16 20:23:10\r\n" // i.e. An iPad 
  )
);

    $cntxt = stream_context_create($options);
    $page = file_get_dom('https://casa.com.tr/lipari-585', $context = $cntxt);    
    
    if($page)
    { 
        echo 1;
        /*
        foreach($page->find('div[id=breadcrumb]') as $p)        
        {                
            echo 2;
        }
        */
    
    }
    sleep(3);
}
То что меня не убивает, делает меня умнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.