<?php
require 'db.php'; // подключаем библиотеку ReadbeenPHP и соединяемся с базой данных
require ('phpQuery-onefile.php'); // подключаем phpQuery
for ($i=1; $i <=2 ; $i++) {
define('HOST','http://karabanoff.ru/all_news/page/'.$i); // сюда мы вписываем адрес сайта-донора, который необходимо спарсить
// R::wipe('post'); // удаляем все записи из таблицы post
// R::wipe('postprev'); // удаляем все записи из таблицы postprev
$data_site = file_get_contents(HOST); // получаем страницу сайта-донора
$document = phpQuery::newDocument($data_site);
$content_prev = $document->find('.body .news');
// перебираем в цикле все посты
foreach ($content_prev as $el) {
// Парсим превьюшки статей
$pq = pq($el); // pq это аналог $ в jQuery
$date = $pq->find('.date')->text(); // парсим заголовок статьи
$t = $pq->find('.title')->text(); // парсим заголовок статьи
$pagetitle = $pq->find('.title')->text(); // парсим заголовок статьи
$link = $pq->find('.title')->attr('href'); // парсим ссылку на статью
$txt = $pq->find('.text p'); // парсим текст в превью статьи
$metadesc = '';
$metakey = '';
// $img = $pq->find('.wp-post-image')->attr('src'); // парсим ссылку на изображение в превью статьи
// Записываем информацию о превьюшках в базу данных
$post_prev = R::dispense('postprev');
if(!empty($t)) $post_prev->t = strip_tags($t); // strip_tags удаляет HTML тэги из строки
if(!empty($pagetitle)) $post_prev->pagetitle = strip_tags($pagetitle); // strip_tags удаляет HTML тэги из строки
// if(!empty($link)) $post_prev->link = HOST.$link;
$post_prev->metadesc = $metadesc;
$post_prev->metakey = $metakey;
if(!empty($txt)) $post_prev->txt = strip_tags($txt);
$post_prev->date = $date;
$post_prev->photo = '';
$post_prev->vlink = '';
$post_prev->type = 'news';
$post_prev->antic = 0;
$post_prev->expire_date = '2020-12-31';
// if(!empty($img)) $post_prev->img = HOST.$img;
R::store($post_prev);
// пробегаемся по всем ссылкам на посты и парсим контент из открытых статей
if(!empty($link)) $data_link = file_get_contents(HOST.$link);
$document_с = phpQuery::newDocument($data_link);
$content = $document_с->find('.body');
foreach ($content as $element) {
$pq2 = pq($element);
// $h1 = $pq2->find('.post-title h1'); // парсим главный заголовок статьи
$text_all = $pq2->find('p'); // парсим контент часть статьи
}
// Записываем информацию о статьях в базу данных
$post = R::dispense('post');
if(!empty($t)) $post_prev->t = strip_tags($t);
if(!empty($text_all)) $post->text = strip_tags($text_all);
R::store($post);
}
}
?>
for($i=1; $i <=2 ; $i++){
define('HOST','http://karabanoff.ru/all_news/page/'.$i)
}
for($i=1; $i <=2 ; $i++){
$url = 'http://karabanoff.ru/all_news/page/'.$i;
}