|
0 Всего найдено: 2
uas_web
Сообщение
08/09/2012 12:52
Копия темы
Помогите разобраться с бд cms drupal Вообщем разрабатываю api связанное с сайтом сделанном на движке drupal, возникла проблема: не могу найти таблицу в базе данных которая содержит рейтинги комментариев и статей. Помогите пожалуйста кто сталкивался с этим или знает в какой таблице найти эту информацию.
uas_web
Сообщение
20/04/2012 16:04
Копия темы
Создание парсера на php эти стили слишком расширяли блоги и они ломались, поэтому пока закомментил--> Здравствуйте, я расскажу как можно легко создать парсер с помощью библиотеки phpQuery.
0
Перед началом работы необходимо скачать библиотеку phpQuery и подключить её к скрипту: <?php include(«phpQuery.php»); ?> Теперь нам следует скачать исходный код сайта и создать новый экземпляр класса связанный с этим кодом. Для получение кода страницы желательно применить функцию file_get_contents(), которая возвращает html в одной строке: <?php $html_code = file_get_contents(‘ $document = phpQuery::newDocument($hbr); ?> Теперь давайте представим, что страница example.com имеет html-код в таком виде: … <div class = «news»> <img src = «logo.jpg» alt = «logo»> Title News<span>brief description[...]</span> <a href = « </div> … И нам требуется логотип, название, текст и ссылка на продолжение новости. Мы могли бы взять весь блок целиком и вставить на сайт, но вдруг он не подойдет под шаблон или будут не нужные элементы в блоке, по этому мы будем парсить по частям. Для начала мы выберем для работы нужный нам блок, в данном случае это: <div class = «news»>. <?php $div_news = $document->find(«div.news»); ?> Теперь благодаря методу find() мы записали в переменную код блока div с классом news. Переменная предоставленная в виде массива, так как блоков с новостями может быть несколько мы будем использовать цикл foreach. Все дальнейшие действия я опишу в комментариях: <?php foreach($div_news as $div) { $pq = pq($div); // Это аналог $ в jQuery //Теперь найдем тег с логотипом, будем искать не в коде всей страницы, а только блока новости: $img = $pq -> find(«img»); /*для вставки логотипа нам хватит знать ссылку на изображение для этого узнаем атрибут src методом attr()*/ $img_src = pq($img); $src = $img_src->attr(«src»); //Если же ссылка на изображение имеет вид: //image/logo.jpg , а не полный адрес тогда требуется добавить его к переменной: //$src = «example.com».$src //Дальше узнаем заголовок новости, он находится в теге h4, текст парсим методом text() $h4 = $pq->find(«h4″); $title = pq($h4); $title_news = $title->text(); //Также узнаем текст новости: $span = $pq->find(«span»); $text = pq($span); $text_news = $text->text(); //Осталось узнать только ссылку на полную новость //её получим из атрибута href тега <a>: $a = $pq->find(«a»); $adress = pq($a); $url = $adress->attr(«href»); //Получим текст ссылки: $title_url = $adress->text(); //Строим ссылку: $url_read_more = «<a href = ‘».$url.»‘>».$title_url.»</a>»; //Мы закончили сбор данных, осталось только вставить их в шаблон, пример: $template = «<div class = ‘my_news’> ».$title_news .»<img src = ‘».$src.» ‘> ».$text_news.» ».$url_read_more.» |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |