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

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

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Парсинг и разбор поисковиков

Сообщения:  [1-10]    [11-20]  [21-22] 

 
 автор: cheops   (11.09.2005 в 13:11)   письмо автору
 
   для: Shorr Kan   (10.09.2005 в 21:48)
 

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

   
 
 автор: Shorr Kan   (10.09.2005 в 21:48)   письмо автору
 
   для: cheops   (10.09.2005 в 13:04)
 

Похоже, немалая проблема с прописью протокола. Где-то надо задавать с ним, а где-то - без него. И рег. выражение выдает ошибку, если не угадать, как надо задавать в каждом конкретном случае... Как этого избежать? И скорее - как разобраться-то - с http:// или без него нужно?

Могу я вам выслать файл с кодом? А то там у меня путаница начинается.

   
 
 автор: cheops   (10.09.2005 в 13:06)   письмо автору
 
   для: Shorr Kan   (10.09.2005 в 02:15)
 

Сам сайт задаётся с протоколом http:// или без?

   
 
 автор: cheops   (10.09.2005 в 13:04)   письмо автору
 
   для: Shorr Kan   (10.09.2005 в 02:13)
 

Хм... а у меня нормально всё выдаёт... Может в этот момент чего-нибудь на самом сайте менялось...
1) В Google UTF-8 испльзуется, чтобы с ним не возится придётся брать третий результат (ссылка у меня не сработала - разбирал вот эту http://www.google.ru/search?hl=ru&inlang=ru&q=link%3Ahttp%3A%2F%2Fwww.softtime.ru&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=)
<?php 
  
// Извлекаем содержимое файла 
  
$filename 'opr000JR.htm'
  
$content file_get_contents($filename); 
  
// Извлекаем ссылки 
  
$pattern '|<b>([\d ]+)</b>|i'
  
preg_match_all($pattern,$content,$out); 
  echo 
$out[1][2]; 
?>

2) Для MSN можно вырезать цифру следующим образом
<?php 
  
// Извлекаем содержимое файла 
  
$filename 'opr000JR.htm'
  
$content file_get_contents($filename); 
  
// Извлекаем ссылки 
  
$pattern '|of ([\d,]+) results|i'
  
preg_match_all($pattern,$content,$out); 
  echo 
"<pre>"
  
print_r($out[1]);
  echo 
"</pre>"
?>

   
 
 автор: Shorr Kan   (10.09.2005 в 02:15)   письмо автору
 
   для: Shorr Kan   (10.09.2005 в 02:13)
 

По второму пункту, при помощи того, что вы написали в первом же ответе:


<?php 
  
// Извлекаем содержимое файла 
  
$filename 'results.htm'
  
$content file_get_contents($filename); 
  
// Извлекаем дату 
  
$pattern '|<li class="first">([^<]+)</li>|i'
  
preg_match_all($pattern,$content,$out); 
  echo 
"<pre>"
  
print_r($out[1]); 
  echo 
"</pre>"
?> 


Мы получаем массив. Вот в этом массиве найти конкретный сайт. Его позицию.

   
 
 автор: Shorr Kan   (10.09.2005 в 02:13)   письмо автору
 
   для: cheops   (10.09.2005 в 01:47)
 

Array
(
[0] => 927
)
Вот выдало по ссылке http://search.yahoo.com/search?p=link%3Ahttp%3A%2F%2Fwww.softtime.ru&fr=FP-tab-web-t&toggle=1&cop=&ei=UTF-8

Однако, если идти по ней самостоятельно - там видно 921... Почему такое несоответствие? Причем, скрипт-то отработал явно правильно.

Аналогично и по ссылке http://search.yahoo.com/search?ei=UTF-8&fr=sfp&p=site%3Asofttime.ru
Results 1 - 100 of about 1,730

А скрипт выдает

Array
(
[0] => 1,740
)

======================================
Как сделать то же самое, но на
http://www.google.ru/search?hl=ru&ie=windows-1251&q=site%3Asofttime.ru&btnG=%CF%EE%E8%F1%EA+%E2+Google&lr=
http://www.google.ru/search?hl=ru&inlang=ru&ie=windows-1251&q=link%3Ahttp%3A%2F%2Fsofttime.ru&lr=
http://search.msn.com/results.aspx?FORM=MSNH&srch_type=0&q=link%3Asofttime.ru
http://search.msn.com/results.aspx?q=site%3Asofttime.ru&FORM=QBRE

? Извините, что так много, но их три штуки... и по два запроса на каждом....

По второму пункту...

   
 
 автор: cheops   (10.09.2005 в 01:47)   письмо автору
 
   для: Shorr Kan   (09.09.2005 в 01:33)
 

2) А может вы приведёте по второму пункту конкретную страницу и какую информацию нужно извлечь?

   
 
 автор: cheops   (10.09.2005 в 01:39)   письмо автору
 
   для: Shorr Kan   (09.09.2005 в 01:33)
 

1) Насколько я понял нужна вот эта цифра?
<?php 
  
// Извлекаем содержимое файла 
  
$filename 'opr000JR.htm'
  
$content file_get_contents($filename); 
  
// Извлекаем ссылки 
  
$pattern '|about <strong>([\d,]+)<\/strong> for|i'
  
preg_match_all($pattern,$content,$out); 
  echo 
"<pre>"
  
print_r($out[1]); 
  echo 
"</pre>"
?>

А скрипт подходит для обоих случаев?

   
 
 автор: Shorr Kan   (10.09.2005 в 01:28)   письмо автору
 
   для: Shorr Kan   (09.09.2005 в 01:33)
 

Ммм? :)

   
 
 автор: Shorr Kan   (09.09.2005 в 01:33)   письмо автору
 
   для: cheops   (08.09.2005 в 12:53)
 

1. Как я понял, только для yahoo , и только для link: нужно вводить адрес с http://www. ... во всех остальных случаях - только domain.com

Вот это - ссылающиеся на вас люди.
http://search.yahoo.com/search?p=link%3Ahttp%3A%2F%2Fwww.softtime.ru&fr=FP-tab-web-t&toggle=1&cop=&ei=UTF-8

Это - проиндексированные странички вашего сайта.
http://search.yahoo.com/search?ei=UTF-8&fr=sfp&p=site%3Asofttime.ru


2. А в $mysite - то, что вводится после link: или site: . В вышеприведенных примерах - $mysite=="http://www.softtime.ru"; и $mysite=="softtime.ru";

p.s. Вот, кстати, и еще одна проблема - с http://www. ... Когда надо - его нет, когда нет - его надо...

   

Сообщения:  [1-10]    [11-20]  [21-22] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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