Простой парсер google trends

March 14, 2008

Вот кусочек из моего php скрипта, который парсит гугл трендс

//Trends Parsing
$trends_url = ‘http://www.google.com/trends/hottrends/atom/hourly‘;
$trends = file_get_contents($trends_url);
$trends = html_entity_decode(htmlentities($trends, ENT_COMPAT, ‘UTF-8′));
preg_match_all("/<a href=\"[^>]*>(.*?)<\/a>/is", $trends, $kw, PREG_PATTERN_ORDER);

На выходе получаем массив $kw, с которым уже можно что-нить химичить. У меня, например эти тренды идут дальше на парсинг контента по соответствующим кейвордам из google blog search, technorati, сниппеты google и msn и из них потом формируется пост в блог.

Например, парсим сниппеты гугла таким образом:

//Google Serps Parsing
$google_request = ‘http://www.google.com/ie?hl=en&num=‘.$count.’&
start=0&lr=&q=’.urlencode(trim($kw[$j]));
$google_pattern = ‘/<a title="(.*)" href=(.*)>(.*)<\/a>/isU’;
$google_result = file_get_contents($google_request);
$google_result = html_entity_decode(htmlentities($google_result, ENT_QUOTES, ‘UTF-8′));
$google_result = str_replace("’", "’", $google_result);
$google_result = str_replace(" …", ".", $google_result);
$google_result = str_replace("…", ".", $google_result);
$google_result = str_replace(" | ", ", ", $google_result);
$google_result = str_replace("’", "’", $google_result);
$google_result = str_replace("#39;", "’", $google_result);
$google_result = str_replace("·", "", $google_result);
$google_result = str_replace("&", "and", $google_result);
$google_result = str_replace("amp;", "", $google_result);
$google_result = str_replace("middot;", "", $google_result);
$google_result = str_replace(""", "’", $google_result);
preg_match_all ($google_pattern, $google_result, $google_data);
$google_header = implode(". ", $google_data[3]);
$google_snippet = implode(" ", $google_data[1]);

Сниппеты Live/MSN вот так

//MSN Serps Parsing
$msn_url = ‘http://search.msn.com/results.aspx?format=rss&count=‘.$count.’&
q=’.urlencode(trim($kw[$j]));
$msn_request = file_get_contents($msn_url);
$msn_request = html_entity_decode(htmlentities($msn_request, ENT_QUOTES, ‘UTF-8′));
$msn_request = str_replace(" …", " ", $msn_request);
$msn_request = str_replace("Live Search: ", "", $msn_request);
$msn_request = str_replace("#39;", "’", $msn_request);
$msn_request = str_replace("·", "", $msn_request);
$msn_request = str_replace("&", "and", $msn_request);
$msn_request = str_replace("amp;", "", $msn_request);
$msn_request = str_replace("middot;", "", $msn_request);
$msn_request = str_replace(""", "’", $msn_request);
preg_match_all("/<title[^>]*>(.*?)<\/title>/is", $msn_request, $msn_title, PREG_PATTERN_ORDER);
preg_match_all("/<description[^>]*>(.*?)<\/description>/is", $msn_request, $msn_desc, PREG_PATTERN_ORDER);
$msn_header = implode(". ", $msn_title[1]);
$msn_snippet = implode("
", $msn_desc[1]);

В итоге получим тексты сниппетов гугла/мсн и заголовки из выдачи, немного очищенные от мусора. Реализация возможно не фонтан, но все же рабочая.
Посидев с php учебником день-два можно наваять неплохой сборщик контента по трендсам :)

Если очень лениво, пишите в каменты может выложу готовый скрипт.

———————–

Скрипт, который парсит google trends + тексты из сниппетов и выводит все это на страницу

8 Comments »

The URI to TrackBack this entry is: http://intrex.blogsome.com/2008/03/14/p64/trackback/

  1. Хотелось бы посмотреть его в работе,какая нагрузка от него,требования.Выложи думаю многим интересно.

    Comment by puika — March 15, 2008 @ 3:32 am

  2. не то, чтобы лениво, а вот времени нету учить пхп пока нету.
    если выложишь, буду благодарен :)

    Comment by Maksik — March 15, 2008 @ 10:16 am

  3. ок, на днях выложу

    Comment by Administrator — March 16, 2008 @ 5:18 pm

  4. Обещаного 3 года ждут? )))

    Comment by sergey — June 23, 2008 @ 6:03 am

  5. Парни, извините, но пока что не до этого.

    Comment by Administrator — June 29, 2008 @ 10:24 am

  6. Скачал. Но запустить так и не смог потому что некоторые символы в коде неправильно отобразились когда автор статьи размещал код в этом движке =((( что делать?? Автор, выложите пожалуйста в архиве хот бы всю эту статейку? Очень прошу =(

    Comment by stas — August 2, 2008 @ 6:05 pm

  7. а.. не.. всё разобрался.. спасибо за скрипт!! =)

    Comment by stas — August 3, 2008 @ 7:15 am

  8. http://intrex.blogsome.com/2008/08/03/p75/
    здесь продолжение темы :)

    Comment by Administrator — August 3, 2008 @ 3:48 pm

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>



Anti-spam measure: please retype the above text into the box provided.