Задать вопрос
@zzzmaikzzz
Junior-web

Как выкачивать страницы второго уровня simple_html_dom.php?

Подскажите, как выкачать по ссылкам каталога страницы второго уровня с помощью simple_html_dom.php

Взял все ссылки на рейсы:
// set_time_limit(10);
require_once 'simple_html_dom.php';
require_once 'curl.php';
$site = 'http://biletyczarterowe.r.pl';
$html = curl_get('http://biletyczarterowe.r.pl');
$dom = str_get_html($html);

foreach($dom->find('table[id=prawyKwadrat] tr td a') as $element) {
		$a = $element->href;
   		$a = $site . htmlspecialchars_decode($a);
// --------------------------------------------------------------
   		$page = curl_get($a);
   		$page_dom = str_get_html($page);
    file_put_contents(md5($page_dom) . '.html', $page_dom);
	}


А как теперь спарсить эти самые ссылки и как на них создать страницы ?
  • Вопрос задан
  • 357 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
Decadal
@Decadal
//в теле цикла
$linkPage = file_get_html($element->href);
// и лучше сделать рекурсивно - оформить парсинг страниц как функцию, принимающую html и кинуть этот контент в неё же 
//а это для решения вашей задачи
file_put_contents(<хэш имени файла>, $linkPage);

если вам нужно спарсить не только страницу, но и всё, на что ссылается целевая страница, то лучше использовать cURL. По крайней мере, если уровень вложенности будет больше двух.
Ответ написан
Комментировать
@amorphine
Обновил
$html = file_get_html('http://biletyczarterowe.r.pl/');
foreach($html->find('table[id] tr td a') as $element) {
    $outer_html  = file_get_html($element->href);
    $file = fopen(md5($outer_html) . '.html', 'w');
    fwrite($file, $html);
    fclose($file);
}
Ответ написан
@zzzmaikzzz Автор вопроса
Junior-web
Ни один из вариантов не заработал...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы