Парсим сайты легко c phpQuery


При решении задач в разных проектах парой сталкиваешься с необходимостью спарсить какую-нибудь информацию с чужого сайта. Необязательно это может быть воровство контента, это могут быть например курсы валют у вашего партнера которые он не отдает в API а вы хотите просто автоматизировать процесс внесения этой информации.


Писать много разных функций или регулярок муторно и не продуктивно. На помощь нам приходит phpQuery. phpQuery – это php вариант известного JavaScript фраемворка – jQuery.


Загрузить phpQuery можно со страницы проекта «code.google.com/p/phpquery» ( или phpQuery-0.9.5.386 ).

Официальный блог проекта «phpquery-library.blogspot.ru»


Пример:

 require ('library/phpQuery.php');

 $res = file_get_contents('http://%username%.habrahabr.ru/blog/');
  
 $document = phpQuery::newDocument($res);
  
 $hentry = $document->find('div.hentry');
  
 foreach ($hentry as $el) {
	 $pq = pq($el); # Это аналог $ в jQuery
	 # меняем атрибуты найденого элемента 
	 $pq->find('h2.entry-title > a.blog')->attr('href','http://%username%.habrahabr.ru/blog/')->html('%username%');
	 $pq->find('div.entry-info')->remove();#удаляем ненужный эл-нт
	 $tags = $pq->find('ul.tags > li > a');
	 $tags->append(': ')->prepend(' :'); # добавляем : по бокам
	 # добавляем контент в начало найденого элемента
	 $pq->find('div.content')->prepend('<br />')->prepend($tags); 
 }
  
 echo $hentry;
#php

Copyright © 2013-2017