Итак, хочу сделать парсер 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');
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;