PHP парсинг – парсер обратных ссылок yahoo

PHP парсинг: парсер обратных ссылок yahooПривет, друзья! Сегодня я хочу вам рассказать о том, как сделать парсер обратных ссылок yahoo для любого сайта. Скажу сразу, что пришлось немало помучиться с данным парсером. Так как не мог сразу найти подходящей ссылки для проверки обратных ссылок.

Вначале нам нужно получить содержимое страницы проверки сайта в yahoo. Для этого мы как обычно будем пользоваться функциями, которыми пользовались при написании скрипта парсер яндекс каталога и других подобных скриптов.

И так, приступим!

Воспользуемся функцией – file_get_contents, чтобы получить содержимое страницы. В качестве параметра мы будем передавать ссылку на проверку сайта в yahoo, с доменом нашего сайта, предварительно закодировав его с помощью функции – urlencode.

Пример получения содержимого страницы:

$url="makarou.com";
$file=file_get_contents('http://siteexplorer.search.yahoo.com/search?p='.urlencode($url).'&bwm=i&bwmo=&bwmf=s');

$url – домен нашего сайта.

Теперь, после того как мы получили содержимое страницы с нашими данными, мы должны только выдернуть оттуда нужное нам значение. Это значение находится в скобках, которые находятся в теге span с классом btn. Для получения нужного нам значения мы воспользуемся регулярным выражением.

Пример регулярного выражения:

preg_match('#<span\s*class\s*=\s*["\']?btn["\']?\s*>Inlinks\s*\(([0-9,]+)\)\s*</span>\s*#ui',$file,$matches);

Как видно из паттерна регулярного выражения, мы получаем значение, которое находится в скобках и в теге span.

На этом, в принципе парсер можно считать готовым. Но, мы как обычно совместим весь код и посмотрим, что из этого выйдет, и как оно будет работать.

Полный код – парсер обратных ссылок yahoo:

$url="makarou.com";
$file=file_get_contents('http://siteexplorer.search.yahoo.com/search?p='.urlencode($url).'&bwm=i&bwmo=&bwmf=s');
preg_match('#<span\s*class\s*=\s*["\']?btn["\']?\s*>Inlinks\s*\(([0-9,]+)\)\s*</span>\s*#ui',$file,$matches);
echo 'обратных ссылок:&nbsp;'.$matches[1];

Посмотреть – demo.

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

На сегодня это всё дорогие друзья. Теперь мы с вами встретимся в пятницу. ;)

php

Понравился пост? добавь его к себе в закладки:
Хочешь быть всегда в курсе обновлений блога? подписывайся через:
  1. Дачник
    16 Июн 2010 11:54 | #1

    Блин , автор уже запарсил меня со своими парсами!

  2. 16 Июн 2010 16:28 | #2

    @Дачник
    еще немного осталось про парсеры ;)

  3. 25 Июн 2010 0:18 | #3

    Большое спасибо за скрипт. Простое и очень красивое решение!

  4. 25 Июн 2010 19:43 | #4

    @Михаил
    пожалуйста ;)

  5. 09 Окт 2010 23:47 | #5

    не пашет демо

  6. 10 Окт 2010 13:42 | #6

    @Завраб
    странно.. у меня работает :)

  7. 29 Ноя 2010 16:56 | #7

    @Завраб
    Yahoo изменил html код выдачи, парсер исправил. ;)

  8. 02 Янв 2011 14:49 | #8

    немало помучиться но так и не удалось сделать парсер обратных ссылок

  9. Ferrumz