[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Парсинг изображений
bortmehannik
Добрый день, хочу спросить у гуру php)
Как спарсить изображение отсюда http://www.intuit.ru/verifydiplomas/100890767 ?
Уже всю голову сломал, не получается и все. Заранее благодарю
Guest
А как пробовал?

Вот могу подсказку дать:
user posted image

А дальше google -> php html xpath
bortmehannik
Сделал вот так:

<?php
require_once 'simple_html_dom.php';

$ch = curl_init ('http://www.intuit.ru/verifydiplomas/100890767');

//curl_setopt ($ch , CURLOPT_URL , 'http://www.google.com.ua/images/srpr/logo3w.png';);

curl_setopt ($ch , CURLOPT_USERAGENT , "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11");
curl_setopt ($ch , CURLOPT_HEADER , 0);
curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ($ch , CURLOPT_BINARYTRANSFER , 1);
$content = curl_exec($ch);
curl_close($ch);

preg_match('//*[@id="verifydiplomas-by-id-form"]/div/div[1]/div[1]/div/div/img', $content, $result);

header("Content-type: image/png");

echo $result;
?>


Но теперь пустоту выдает
Guest
Немного не так.
У меня так работает:
function parseImageSrc($url) {
$src = '';

$doc = new DOMDocument();
@$doc->loadHTML(file_get_contents($url));

$xpath = new DOMXpath($doc);
$res = $xpath->query('//*[@id="verifydiplomas-by-id-form"]/div/div[1]/div[1]/div/div/img');
foreach ($res as $node) {
foreach ($node->attributes as $attr) {
if ($attr->name == 'src') {
$src = $attr->value;
break;
}
}

break;
}

if ($src != '') $src = 'http://www.intuit.ru' . $src;
return $src;
}


echo parseImageSrc('http://www.intuit.ru/verifydiplomas/100890767');
bortmehannik
Такого результата я добивался, но мне необходимо вывести именно изображение, не ссылку. Картинку на моем ресурсе проще говоря
Astin
bortmehannik
Если тебе нужно именно эту картинку, то вот так
<?php
$url = 'http://www.intuit.ru/verifydiplomas/100890767';
$ch = curl_init($url);

curl_setopt( $ch, CURLOPT_HEADER, 0 );
curl_setopt( $ch, CURLOPT_NOBODY, 0 );
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$content = curl_exec($ch);
curl_close ( $ch );

$start = '<div class="tab-body">';
$finish = '</div>';

//Вырезаем нужный блок
$position = strpos($content, $start);
$content = substr($content, $position);
$position = strpos($content, $finish);

//Вырезаем код
$content = substr($content, 0, $position);

//Убираем ненужные теги
$content = str_replace('<div class="tab-body">', '', $content);
$content = str_replace('<div class="diploma-img">', '', $content);

//Меняем ссылку в картинке
$content = str_replace('/sites', 'http://www.intuit.ru/sites', $content);

echo $content;


И будет тебе именно эта картинка с сертификатом
_
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.