Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Помогите дописать скрипт [Perl] (https://forum.antichat.xyz/showthread.php?t=110324)

$p01nt 10.03.2009 17:36

Помогите дописать скрипт [Perl]
 
Итак, хочу сделать парсер id юзеров с сайта hi5, получается сделать поиск, но только по первой странице, на вторую кликнуть не могу и дальше тоже не пускает, уже весь измучился :(
Кто поможет - получит кучу плюсов :)


Цитата:

use warnings;
use strict;
use HTTP::Cookies;
use LWP::UserAgent;

my $browser = LWP::UserAgent->new();
my $cookies = HTTP::Cookies->new();
$browser->cookie_jar($cookies);

open(ID,">>id.txt");

my $url='http://hi5.com/friend/processSearch.do?searchNew=1&fromPage=%2Ffriend%2F WEB-INF%2Fsearch%2FsearchTotal.jsp&fromEmail=0&oldSear chString=&email=&name=&ageFrom=30&ageTo=50&gender= 0&loveStatus=1069&goals=&country=1018&zip=&city=&m iles=5&miles=0';
my $url2='http://hi5.com/friend/processSearch.do?searchText=&searchType=advanced&o ffset=10&qx=People+Search+';

my $response=$browser->get($url);
$browser->default_header('Referer'=>'http://hi5.com/friend/processSearch.do?searchNew=1&fromPage=%2Ffriend%2F WEB-INF%2Fsearch%2FsearchTotal.jsp&fromEmail=0&oldSear chString=&email=&name=&ageFrom=30&ageTo=50&gender= 0&loveStatus=1069&goals=&country=1018&zip=&city=&m iles=5&miles=0');

$response=$browser->get($url2)->as_string;
open(GOPOD,">gso.html"); print GOPOD $response;

roddik 10.03.2009 20:35

Код:

use strict;
use warnings;
use WWW::Mechanize;

open IDS, '>>ids.txt';

my $mech = WWW::Mechanize->new();
my $url = q[http://www.hi5.com/friend/processSearch.do?searchNew=1&fromPage=%2Ffriend%2FWEB-INF%2Fsearch%2FsearchTotal.jsp&fromEmail=0&oldSearchString=&email=&name=&ageFrom=18&ageTo=35&gender=2&loveStatus=0&goals=&country=1000&zip=&city=&miles=0&miles=0];
my @agents = ('Windows IE 6', 'Windows Mozilla', 'Mac Safari', 'Mac Mozilla', 'Linux Mozilla', 'Linux Konqueror');

$mech->agent_alias($agents[int(rand(@agents))]);
$mech->get($url);

my $i = 0;
do {
    $i++;
    my @friends = $mech->content =~ m[Position\d+" href="/friend/p(\d+)\-\-]g;
   
    print IDS (join "\n", @friends)."\n";
} while ($mech->get('http://www.hi5.com/friend/processSearch.do?searchText=&searchType=advanced&offset='.$i.'0&qx=People+Search+'));

close IDS;


$p01nt 11.03.2009 11:32

roddik, а ты проверял? У тебя та же самая ошибка что и у меня...только ты зачем то переписал это на WWW::Mechanize.....

roddik 11.03.2009 16:17

Проверял конечно, все пашет, если надо могу отпарсить тебе айдишники, какая у тебя ошибка?

[dei] 11.03.2009 17:33

ошибку напиши сюда

$p01nt 12.03.2009 12:13

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


Время: 22:31