@dura228

Почему phpquery не парсит полностью сайт с табличной версткой?

такой код все выводит
require('phpQuery-onefile.php');
mb_internal_encoding("UTF-8");

$url='http://hramy.ru/regions/city_abc.htm';

function getPageByUrl ($url)
	{
		//Инициализируем сеанс
		$curl = curl_init();

		//Указываем адрес страницы
		curl_setopt($curl, CURLOPT_URL, $url);

		//Ответ сервера сохранять в переменную, а не на экран		
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
		//Переходить по редиректам
		curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($curl, CURLOPT_ENCODING ,"");

		//Выполняем запрос:		
		$result = curl_exec($curl);
		$result = iconv('windows-1251', 'UTF-8', $result);
		//Отлавливаем ошибки подключения
		if ($result === false) {			echo "Ошибка CURL: " . curl_error($curl);
			return false;
		} else {
			return $result;
		}
	}

	$str=getPageByUrl($url);
	echo $str;

а такой код выводит только верхнее и левое меню, а контент не выводит
require('phpQuery-onefile.php');
mb_internal_encoding("UTF-8");

$url='http://hramy.ru/regions/city_abc.htm';

function getPageByUrl ($url)
	{
		//Инициализируем сеанс
		$curl = curl_init();

		//Указываем адрес страницы
		curl_setopt($curl, CURLOPT_URL, $url);

		//Ответ сервера сохранять в переменную, а не на экран		
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
		//Переходить по редиректам
		curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($curl, CURLOPT_ENCODING ,"");

		//Выполняем запрос:		
		$result = curl_exec($curl);
		$result = iconv('windows-1251', 'UTF-8', $result);
		//Отлавливаем ошибки подключения
		if ($result === false) {			echo "Ошибка CURL: " . curl_error($curl);
			return false;
		} else {
			return $result;
		}
	}

	$str=getPageByUrl($url);
	$pq = phpQuery::newDocument($str);
	echo($pq->html());
  • Вопрос задан
  • 137 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы