Автор Тема: Какой забугорный поисковик проще подходит для грабанья линков?  (Прочитано 7292 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн obytatel

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 129
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.microsoft.com/
Какой забугорный поисковик проще подходит для грабанья линков?
Если можно киньте скриптом-грабером для этого поисковика.

Уточняю задачу: поиск должен быть сложным, т.е. есть два текстовых файла, например:
1.txt:
win
linux

2.txt:
apache
mysql
perl
php

На основе этих файлов генеряться запросы:
win + apache
win + mysql
win + perl
win + php
linux + apache
linux + mysql
linux + perl
linux + php

Результаты сохраняються в файлы:
win.apache
win.mysql
win.perl
win.php
linux.apache
linux.mysql
linux.perl
linux.php
БЕЛАРУСЬ - страна восходящего картофеля

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Цитировать
Какой забугорный поисковик проще подходит для грабанья линков?
google наверное. Они ведь для этого даже SOAP-интерфейс сделали.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн obytatel

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 129
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.microsoft.com/
SOAP-интерфейс - можно про это подробней?

сам пока написал лишь енто,- времени небыло.
Пока проверено на локале, заточено под google
set_time_limit(600);
$url="http://127.0.0.3/search.php";
$port=80;
$host="127.0.0.3";
$fp=@fsockopen($host,$port,$errno,$errstr,120) or die("Не могу соединиться");
$out="hl=en&lr=&ie=UTF-8&oe=UTF-8&q=warcraft&btnG=Google+Search";
$query = "GET $url?$out HTTP/1.0\\r\\n".
            "Host: 127.0.0.3\\r\\n".
            "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows98)\\r\\n".
            "Referer: http://127.0.0.3\\r\\n".
            "\\r\\n";
if ($fp)
{
fputs($fp, $query);
while (!feof($fp)) {
        echo fgets ($fp,128);
          }
fclose ($fp);
}
else
{
print ("ops");
}
БЕЛАРУСЬ - страна восходящего картофеля

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
http://www.google.com/intl/ru/apis/
(правда все еще в состоянии beta)

PS
сам я им не пользовался
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн obytatel

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 129
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.microsoft.com/
http://www.google.com/intl/ru/apis/ там вроде неуказан PHP (в смысле что он не поддерживает столь рульный тулкит)
А вообще у меня горе - выше изложенный скрипт - на google.com не работает. Спервого раза ругнулось - Error 302 Moved, а на второй вообще ничегошеньки несказало. ХЭЭЭЭЭЭЭЭЛП, плыз.
Путь я конечноже правил на http://www.google.com/search
БЕЛАРУСЬ - страна восходящего картофеля

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
цитата из сайта:
Цитировать
13. What programming languages do you support?

The service has been tested with Java (Apache SOAP and Apache Axis), Perl (SOAP::Lite version 0.52), Ruby (SOAP4R), and C# in MS Visual Studio .NET. The service has not been tested with clients in other languages but it should work with any language with web services support.
то есть с пхп он вроде должен работать, но не тестировался (да и пхп не имеет встроенных средств для работы с SOAP, кроме PEAR-классов)
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн obytatel

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 129
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.microsoft.com/
Попробую soap.
А всё же без soap, как и почему мой мини-скрипт не работает корректно?
БЕЛАРУСЬ - страна восходящего картофеля

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Цитировать
А всё же без soap, как и почему мой мини-скрипт не работает корректно?
насколько я понимаю без SOAP граббинг google-а нелегален, так что тут я тебе не помощник
Могу лишь посоветовать посмотреть готовые примеры (они в сети есть)
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн obytatel

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 129
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.microsoft.com/
Не верю что все на Украине стали такими честными, не настолько вы богаты
А гугла сама виновата могли бы позаботиться о сапорте для ПХП
Если кому интересно кидаю свой нынешний вариант скрипта, но он всё также не работает 8(

set_time_limit(60000);
$url="http://www.google.com/search";
$port=80;
$host="www.google.com";
$region=file("Sxs.sxs");
foreach ($region as $cat)
   { //foreach region
   $cat=trim($cat);
   if (ereg("=",$cat))
   {
   }
   else
   {
   $region1=file("cat.sxs");
   foreach ($region1 as $cat1)
      { //foreach region1
      $cat1=trim($cat1);
      
$fp=@fsockopen($host,$port,$errno,$errstr,120) or die("Не могу соединиться");
$dog=str_replace(" ", "+", "$cat");
$dog1=str_replace(" ", "+", "$cat1");
$ret="$dog+$dog1";
$out="hl=en&lr=&ie=UTF-8&oe=UTF-8&qt=$ret&btnG=Google+Search";
$query = "GET $url?$out HTTP/1.0\\r\\n".
            "Host: 127.0.0.3\\r\\n".
            "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows98)\\r\\n".
            "Referer: http://www.google.com\\r\\n".
            "\\r\\n";
if ($fp)
{
$buf="";
echo ("

$ret

");
fputs($fp, $query);
while (!feof($fp)) {
        $buf.= fgets ($fp,128);
           }
           echo $buf;
$dog=str_replace(" ", "", "$cat");
$dog1=str_replace(" ", "", "$cat1");
$fp1=fopen("data/$dog.$dog1","w+");
fputs($fp1, "$ret\\r\\n $query\\r\\n $buf");
fclose ($fp1);
fclose ($fp);
}
else
{
print ("ops");
}
      } //else ereg
      } //foreach region1
   } //foreach region

Буду рад если найду сочувствующих
БЕЛАРУСЬ - страна восходящего картофеля

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Цитировать
Не верю что все на Украине стали такими честными, не настолько вы богаты
[off]Честность тут непричем, я принципаильно не помогаю в грабинге. Просто не люблю когда люди сами не учаться и хотят чужими руками сделать грязную работу [/off]
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Кстати а что именно у тебя не работает ?
Ты так и шлеш хост 127.0.0.3 на google ? ;)
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн obytatel

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 129
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.microsoft.com/
Грязную работу я вроде сам сделал, а дальше мозгами работать надо,- вот с этим у меня судя по всему проблемы.
Ты так и шлеш хост 127.0.0.3 на google ?
Шутишь ты хорошо 8Р, но обидно... (пишу как пологен http://www.google.com, пробовал и google.com)
А не работает вона что: вместо ответа на запрос кидают форму для ввода запроса(приятно было на грабить 2000 ХТМЛ-ов в которых одна и та же форма). Я думаю на кукисы, но обойти их не получается (мудрёные они какие-то).
Может подскажешь более дружелюбный для грабинга поисковичёк. Яха отметается по той же причине что и Гугла.
БЕЛАРУСЬ - страна восходящего картофеля

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
obytatel
1. В следующий раз если код не работает, то показывай именно то что не работает
2. Вот код, который у меня получает страницу результатов с гугла

require_once("HTTP/Request.php");
$params = array(
   
"method"=>"GET"
   
"http"=>"1.1"
   
"timeout"=>"20"
);
$url "http://www.google.com/search?q=php&ie=windows-1251&hl=ru&btnG=%CF%EE%E8%F1%EA+%E2+Google&lr=&start=20";

$req = & new HTTP_Request($url$params);
$req->sendRequest();

echo 
"<pre>";
print_r($req);
echo 
"</pre>";

используется pear::http::request
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн obytatel

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 129
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.microsoft.com/
Млин, БОЛЬШУЩЕЕ СПАСИБО, а то я уже начинал горевать. Сейчас же займусь препарацией
БЕЛАРУСЬ - страна восходящего картофеля

Оффлайн obytatel

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 129
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.microsoft.com/
Макс
Это работает, большое пасибо. Всё зер гуд кроме того что надо писать
echo $a->getResponseBody();
а не
print_r($req);
И на закуску проблемка: надобно исключить рускоязычные линки, и вообще язык на инглиш
БЕЛАРУСЬ - страна восходящего картофеля

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28