Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ссылающиеся сайты Yandex, как это сделать?
 
 автор: webwizard   (06.12.2007 в 07:40)   письмо автору
 
 

Здравствуйте.

Подскажите, пожалуйста, как можно получить в виде числа количество обратных ссылок по Яндексу (т.е. количество бэклинков) и количество ссылающихся страниц.

Вот для примера:
если зайти в Яндекс и в строке поиска набрать www.articlesworld.ru, то получим следующий результат:
- результат поиска: страниц — 3 671, сайтов — не менее 277

Как можно получить эти значения?

Я видел, на некоторых сайтах, что количество бэклинков выводится в виде числа (некоторые сайты предоставляют услугу мониторинга), как написать такой скрипт?

Заранее, СПАСИБО.

   
 
 автор: cheops   (06.12.2007 в 12:56)   письмо автору
 
   для: webwizard   (06.12.2007 в 07:40)
 

Для разбора можно воспользоваться следующим решением
<?php
  $text 
file_get_contents("yandex/url/");
  
$pattern "|<div class=\"refblock\">(.*?)</div>|is";
  
preg_match_all($pattern$text$out);
  unset(
$out[0]);
  echo 
"<pre>";
  
print_r($out);
  echo 
"</pre>";
?>

Данные передаются в UTF-8, поэтому возможно потребуется перекодировка.

   
 
 автор: webwizard   (06.12.2007 в 18:24)   письмо автору
 
   для: cheops   (06.12.2007 в 12:56)
 

Спасибо Вам большое!

Вот только скажите, пожалуйста, что означает это:

1) $text = file_get_contents("yandex/url/");

как мне подставить в это выражение свой сайт www.articlesworld.ru

2) $pattern = "|<div class=\"refblock\">(.*?)</div>|is";

что это refblock

3) preg_match_all($pattern, $text, $out);

и что это за переменная $out

Просто я столкнулся с этой задачей впервые, поэтому не могу понять, как это использовать на практике.

   
 
 автор: cheops   (06.12.2007 в 19:40)   письмо автору
 
   для: webwizard   (06.12.2007 в 18:24)
 

1) Вместо строки "yandex/url/" подставьте "http://www.yandex.ru/yandsearch?rpt=rad&text=articlesworld.ru".
2) Это фрагмент HTML-кода страницы yandex.ru, содержащий информацию о количестве найденных сайтов и страниц.
3) Двумерный массив $out содержит результаты поиска по регулярному выражению в нулевой индекс помещаются результаты для всего регулярного выражения, в индекс 1 - соответствие первым круглым скобкам в регулярном выражении, 2 - соответствие вторым круглым скобкам и т.д. У нас в регулярном выражении только одни круглые скобки, поэтому индексы будут 0 и 1.

   
 
 автор: webwizard   (07.12.2007 в 06:35)   письмо автору
 
   для: cheops   (06.12.2007 в 19:40)
 

СПАСИБО, cheops, ОГРОМНОЕ.

Всё получилось.
Это самый лучший форум в интернете

У меня есть 2-е ваши книги:
- PHP 5 на примерах
- PHP 5 практика создания web-сайтов

Очень классные книг. Я хотел Вас попросить, если это возможно то, пожалуйста, напишите ещё одну книги, где будет больше практических моментов, таких как работа с регулярными выражениями, создание собственного чата, создание партнёрских программ и т.п.

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

   
 
 автор: cheops   (07.12.2007 в 13:52)   письмо автору
 
   для: webwizard   (07.12.2007 в 06:35)
 

Работа с регулярными выражениями, извлечение информации с удалённых сайтов достаточно подробно обсуждается в книге Головоломки на PHP для хакера. К сожалению, создание собственного чата, создание партнёрских программ у нас нигде не обсуждается - всё охватить практически невозможно.

   
 
 автор: webwizard   (08.12.2007 в 06:22)   письмо автору
 
   для: cheops   (07.12.2007 в 13:52)
 

Спасибо больное, cheops

Я уже заказал Вашу книгу.

С нетерпением жду от Вам новых книг, да потолще.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования