Я пытаюсь разобрать веб-страницу и распечатать таблицу, которая находится на веб-странице. Я использую php_simple_html синтаксический анализатор dom. Однако, когда я пытаюсь разобрать таблицу с веб-страницы, все команды javascript для вывода таблицы превращаются в комментарии в php:
<html>
<script type="text/javascript" src="jquery.js"></script>
<?php
include 'crawling/simple_html_dom.php';
$html = file_get_html('http://uiucfreefood.com/');
$ret = $html->find('body', 0)->find('div', 10)->find('table',0); //gets to the table tag
echo $ret; // nothing is echoed out because the original webpage uses jscript commands to write the table to the page but these commands get turned to comments for some reason.
?>
</html>
Когда я проверяю элемент страницы, где я повторяю анализируемую информацию, я могу видеть, что тег таблицы со всей информацией находится там, но команды jscript были превращены в комментарии. Есть ли способ, чтобы я мог просто захватить информацию и повторить ее сам? Я попробовал добавить другое → find ('tbody'); в конце команды parse, но ничего не делает. Любые советы приветствуются. Благодарю.
EDIT: вы можете попробовать этот код самостоятельно, если вы загрузите simple_html_dom.php и включите его в свой php файл. Источник: http://sourceforge.net/projects/simplehtmldom/files/
EDIT: Просто заметил что-то действительно важное. Команды javascript также закомментированы на исходной веб-странице. Вместо этого на исходной веб-странице используется функция javascript для печати таблицы, которую я не определил. Написание этой функции самостоятельно должно решить проблему.
EDIT: да, это сработало.
Попробуйте использовать file_get_content вместо получения HTML и посмотрите, работает ли это. Честно говоря, в зависимости от ваших потребностей вы должны закодировать собственный парсер. Не так сложно написать парсер для сканирования и отображения таблицы.
Вам просто нужно следующее:
$array = split("<table>", $content);
$boolPlaceHolder = false;
и затем вы можете установить местозаполнитель в true, когда вы столкнетесь с этим способом, вы можете сканировать штрихи содержимого и захватить таблицу.
Надеюсь это поможет.