Подскажите пожалуйста скриптик

G
На сайте с 06.06.2005
Offline
76
744

Подскажите пожалуйста скриптик, который покажет количество проиндексированных Яндексом страниц. Что бы результаты совпадали с этими http://yandex.ru/yandsearch?text=&site=мойсайт.ru

R
На сайте с 03.07.2006
Offline
214
#1

Такой сойдёт? :D


<?php
echo "<b>Искомая комбинация слов нигде не встречается.</b>";
?>

_S
На сайте с 11.01.2006
Offline
150
#2

php: curl+preg_match

А вообще есть куча скриптов подобных и от туда вырвать кусочек с этими данными вполне возможно если есть знания php

Revolve - создание сайтов (http://www.revolving.ru/) icq 55-61-51
NightBlade
На сайте с 17.09.2007
Offline
32
#3

"host=&quot;ИМЯ ХОСТА&quot;" в xml и парсите сколько угодно с учетом ограничения запросов

seo-alex
На сайте с 12.02.2006
Offline
143
#4

Вот простенький пример..

урлы лучше вынесите в отдельный файл и подгружайте с помощью

require 'data.inc';

например, в sleep - лучше значение изменить на 10, а то будете оправдываться что не робот..🚬


<?php
$url[] = "ваш_сайт.ru";
$url[] = "мой_сайт.ru";
$url[] = "сайт_васи_пупкина.ru";

foreach ($url as $value) {
echo "<b>$value </b><br>";

$source = file_get_contents("http://yandex.ru/yandsearch?text=&site=".$value);
if (preg_match('|<title>(.*?)</title>|is', $source, $match))
$match[1] = $match[1];
$a = $match[1];
$result = iconv("UTF-8", "windows-1251", $a);
echo $result.'<hr>';
sleep (3);
}
?>

З.Ы. работает на PHP5

NightBlade
На сайте с 17.09.2007
Offline
32
#5

Я бы сделал по-другому... с использованием xml

$host="vkontakte.ru";


$reqst='<?xml version="1.0" encoding="windows-1251"?>
<request>
<query>host=&quot;'.$host.'&quot;</query>
<groupings>
<groupby attr="d" mode="deep" groups-on-page="10" docs-in-group="1" />
</groupings>
</request>';

$ch = curl_init("http://xmlsearch.yandex.ru/xmlsearch/");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $reqst);

$xml=curl_exec($ch);

preg_match("|<doccount>(.*)</doccount>|",$xml,$count);

echo $count[1];

curl_close($ch);
G
На сайте с 06.06.2005
Offline
76
#6

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

NightBlade:
Я бы сделал по-другому... с использованием xml
$host="vkontakte.ru";


$reqst='<?xml version="1.0" encoding="windows-1251"?>
<request>
<query>host=&quot;'.$host.'&quot;</query>
<groupings>
<groupby attr="d" mode="deep" groups-on-page="10" docs-in-group="1" />
</groupings>
</request>';

$ch = curl_init("http://xmlsearch.yandex.ru/xmlsearch/");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $reqst);

$xml=curl_exec($ch);

preg_match("|<doccount>(.*)</doccount>|",$xml,$count);

echo $count[1];

curl_close($ch);

что-то в вашем скрипте не так, curl_exec - выполняет CURL-сессию, возвращает bool, по этому preg_match к $xml наверно неуместно.

Grisha добавил 24.06.2008 в 23:37

Вот же бл......!!!! Оказывается этот УРЛ http://yandex.ru/yandsearch?text=&site=мойсайт.ru выводит количесвто всех страниц сайта включая поддомены! :( А как узнать количество проиндексированных яндексом страниц именно искомого сайта, без поддоменов?

Grisha добавил 25.06.2008 в 00:01

разобрался, надо http://www.yandex.ru/yandsearch?serverurl=мойсайт.ru

NightBlade
На сайте с 17.09.2007
Offline
32
#7
Grisha:
Всем большое спасибо!
что-то в вашем скрипте не так, curl_exec - выполняет CURL-сессию, возвращает bool, по этому preg_match к $xml наверно неуместно.

Поизучайте немного curl_setopt. В частности, чтобы сильно не лазить в мануалах цитирую:

"CURLOPT_RETURNTRANSFER: При установке этого параметра в ненулевое значение CURL будет возвращать результат, а не выводить его."

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

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий