Сканирование и работа на HTML для сайта агрегации - PullRequest
0 голосов
/ 08 декабря 2010

Я работаю над сценарием сканирования в PHP.Я использую PHP Simple HTML DOM Parser.

После получения HTML мне нужно извлечь только часть информации с каждой страницы и объединить ее в мою собственную HTML-страницу на моем сайте.

IЯ не могу понять, как действовать дальше.

Любая помощь приветствуется.

Добавлено

Я хочу извлечь некоторые сообщения (если они связаны с определенной географией и темой)

Ответы [ 2 ]

0 голосов
/ 08 декабря 2010

Вы могли бы сделать что-то вроде этого:

$doc = new DomDocument();
@$doc->loadHTMLFile($url);
$xpath = new DOMXpath($doc);
$nodeList = $xpath->query("your-xpath-query");
foreach ($nodeList as $node) {
    // grab the content, attributes or whatever you'r looking for
}

Используя запросы Xpath, вам не нужно вручную обходить дерево DOM, и ваш сценарий более устойчив к структурным изменениям в сайтах, которые вы сканируете.

Я надеюсь, что вы попадете на правильный путь.Для более подробного примера вы должны предоставить больше информации.

0 голосов
/ 08 декабря 2010

Регулярные выражения могут быть способом получения сложной информации из данных, но для простых тегов вы можете использовать что-то вроде:


// Создать DOM из URL или файла
$ html = file_get_html ('http://www.google.com/');

// Найти все изображения
foreach ($ html-> find ('img') как $ element)
echo $ element-> src. '
;

// Найти все ссылки
foreach ($ html-> find ('a') как $ element)
echo $ element-> href. '
;

...