Собственно вопрос, как получить весь html после обработки браузером?
$webpage->get_source() - выводит html до обработки браузером
$webpage->get_document_body(true); или $webpage->get_body(); только body
Как получить весь html после обработки браузером?
Re: Как получить весь html после обработки браузером?
loadwebpage http://humanemulator.net/objects/WEB/we ... b_page.php или php функция get_file_contentes
они получают страницы без браузера напрямую как будто они загрузились.
они получают страницы без браузера напрямую как будто они загрузились.
Re: Как получить весь html после обработки браузером?
Читайте вопрос внимательно, мне нужно получить полный html после обработки браузером, а не до. То есть со всем сгенегированным контентом через javascript. Но не только body, весь html
Re: Как получить весь html после обработки браузером?
Пробовал
$html->get_inner_html_by_number( 0 ); озвращает не все что есть в коде
Нужно как $webpage->get_source() но только после обработки браузером.
$html->get_inner_html_by_number( 0 ); озвращает не все что есть в коде
Нужно как $webpage->get_source() но только после обработки браузером.
Re: Как получить весь html после обработки браузером?
Как то интересно стало, а можно пример страницы и file.txt с html-ом, тот с которым сравниваете, и метод получения вышеописанного, если можно.
Re: Как получить весь html после обработки браузером?
Возможно что для фреймов нужно получать свою часть хтмл ? get_body получает тока содержимое 0 фрейма. Для остальных можно использовать - http://humanemulator.net/objects/DOM/fr ... number.php
Re: Как получить весь html после обработки браузером?
Проблема тянется еще с viewtopic.php?f=3&t=935 где я просил исправить проблемы с кодировкой. Прошло уже 3 года, а обещанные правки так и не были сделаны
Функция get_body полезна для получения html после обработки браузером, но отдает только код body.
Почему важно, потому что код возвращается уже в правильной кодировке после браузера.
А если нужно получить весь код, в том числе и <head> исходника в нормальной кодировке. Со всеми мета-тегами с кирилицей внутри?
Приходится извращаться типа:
То есть, получаем сырец html в битой кодировке и меняем <head> и <body> на результат после браузера. Таким образом имеем сырец, после обработки браузером. Но это костыли.
Посмотрите во вложении html и посмотрите на http://7sisters.ru/ сырец в браузере и увидите что данных не хватает до и после того кода который во вложении.
Функция get_body полезна для получения html после обработки браузером, но отдает только код body.
Почему важно, потому что код возвращается уже в правильной кодировке после браузера.
А если нужно получить весь код, в том числе и <head> исходника в нормальной кодировке. Со всеми мета-тегами с кирилицей внутри?
Приходится извращаться типа:
Код: Выделить всё
$src_html= preg_replace( '#<head>.*?</head>#siu', '<head>'.$head->get_inner_html_by_number( 0 ).'</head>', $webpage->get_source() );
$body=$webpage->get_document_body(true);
$html = preg_replace( '#<body.*?</body>#siu', $body, $src_html );
Конечно можно:Как то интересно стало, а можно пример страницы и file.txt с html-ом
Код: Выделить всё
$html=$html->get_inner_html_by_number( 0 );
file_put_contents('e:\test.html', $html);
- Вложения
-
- test.zip
- (20.76 КБ) 93 скачивания