Опубликовано пт, 10/30/2015 - 14:43 пользователем admin
Сперва скачиваем библиотеку QueryPath в корневую папку сайта. Далее создаём файл parser.php и подключаем в нём ядро Друпала и библиотеку QueryPath:
// Подключение ядра Друпала для использования его функций setlocale(LC_ALL, 'ru_RU.UTF-8'); define('DRUPAL_ROOT', '/home/zalman/localserver/bellagio.loc/public_html'); $_SERVER['REMOTE_ADDR'] = "localhost"; require_once DRUPAL_ROOT . '/includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); // Подключение библиотеки QueryPath require DRUPAL_ROOT . '/QueryPath/QueryPath.php';
Далее парсим txt файл со списком ссылок, по которым будем просматривать сторонний сайт:
// Построчный парсинг txt файла $array = file("urls.txt"); foreach ($array as $key => $value) { }
При каждом проходе цикла парсим нужные нам элементы на странице:
$array = file("urls.txt"); foreach ($array as $key => $value) { $url = trim($value); // Парсинг документа по ссылке с помощью QueryPath $table = htmlqp($url, 'table'); $title = htmlqp($url, 'h1'); $content = htmlqp($url, '.main .content'); }
Для программного создания ноды необходимо выполнить следующий код:
// Создаём объект ноды $node = new stdClass(); $node->type = "menu"; // Указываем тип материала $node->title = $title; // Заголовок ноды $node->language = 'ru'; node_object_prepare($node); // Функция подготовки ноды $node->uid = 1; // автор ноды - админ // Инструкция по добавлению разных типов полей: // http://timonweb.com/posts/how-to-programmatically-create-nodes-comments-and-taxonomies-in-drupal-7/ // Добавля нужные нам поля в ноде $node->field_custom_name[$node->language][]['value'] = 'Value field'; $node = node_submit($node); // Подготавливаем ноды к сохранению node_save($node); // Сохраняем ноду
Инструкция по добавлению прочих видов полей:
http://timonweb.com/posts/how-to-programmatically-create-nodes-comments-and-taxonomies-in-drupal-7/
Файлы: