Delph
Новичок
XML и Яндекс
Имею следующий код:
Далее разбираю массив $vals и отбираю нужные мне вещи (мне нужно вытащить все урлы).
Проблема в следующем:
Мне нужно выкачать из яндекса все урлы, а не первые 20. Если ставлю groups-on-page большее 20 выдает ошибку.
Если воспользоваться циклом, то работает все очень медленно (естественно).
Есть ли у кого-нибудь идеи как можно реализовать? (PHP 4)
-~{}~ 05.05.06 12:19:
Да, и еще во время выборки по каждому url происходит еще 2 соединения - проверка ТИЦ на Яндексе и PR на Google.
Имею следующий код:
PHP:
$host = "xmlsearch.yandex.ru";
$uri = "/xmlsearch/";
$body = '<?xml version="1.0" encoding="utf-8"?>
<request>
<query>Something</query>
<groupings>
<groupby attr="d" mode="deep" groups-on-page="20" docs-in-group="1" />
</groupings>
</request>';
$request = "POST {$uri} HTTP/1.0\n";
$request .= "Host: {$host}\n";
$request .= "Content-Type: text/xml\n";
$request .= "Content-Length: " . strlen($body). "\n\n";
$request .= $body;
$sock = pfsockopen($host, 80);
fwrite($sock, $request);
$response = "";
while (!feof($sock))
{
$str = fgets($sock, 8192);
$response .= $str;
}
$simple=substr($response,strpos($response,'<yandexsearch version="1.0">'));
$p = xml_parser_create();
xml_parse_into_struct($p, $simple, $vals, $index);
xml_parser_free($p);
Проблема в следующем:
Мне нужно выкачать из яндекса все урлы, а не первые 20. Если ставлю groups-on-page большее 20 выдает ошибку.
Если воспользоваться циклом, то работает все очень медленно (естественно).
Есть ли у кого-нибудь идеи как можно реализовать? (PHP 4)
-~{}~ 05.05.06 12:19:
Да, и еще во время выборки по каждому url происходит еще 2 соединения - проверка ТИЦ на Яндексе и PR на Google.