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

Форум АНТИЧАТ (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=107153)

$p01nt 20.02.2009 13:56

Помогите доделать парсилку [Perl]
 
Всем привет!
Ребят, не получается спарсить id пользователей с hi5.com, проблема с отправкой запросов.
Т.е. скрипт должен отправлять запрос "Найти юзеров" потом "показать по тому же запросу еще 10 человек" и т.д.
запрос "найти юзеров" отлично работае, отлично парсится, а дальше затруднения.
Вот собственно код (должен спрасить первую и вторую страничку поиска, но парсит только первую):

Код:

      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%2FWEB-INF%2Fsearch%2FsearchTotal.jsp&fromEmail=0&oldSearchString=&email=&name=&ageFrom=25&ageTo=55&gender=0&loveStatus=1069&goals=&country=1030&zip=&city=&miles=0&miles=0';
        my $url2='http://hi5.com/friend/processSearch.do?searchText=&searchType=advanced&offset=10&qx=People+Search+';

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


[dei] 20.02.2009 16:52

Код:

use HTTP::Cookies;
use LWP::UserAgent;
use IO::Handle;

my $browser = LWP::UserAgent->new();
my $cookies = HTTP::Cookies->new();
$browser->cookie_jar($cookies);
 
open(ID, ">id.txt");
ID->autoflush(1);
my $url = 'http://hi5.com/friend/processSearch.do?searchNew=1&fromPage=%2Ffriend%2FWEB-INF%2Fsearch%2FsearchTotal.jsp&fromEmail=0&oldSearchString=&email=&name=&ageFrom=25&ageTo=55&gender=0&loveStatus=1069&goals=&country=1030&zip=&city=&miles=0&miles=0';

my $response = $browser->get($url)->as_string;

while($response =~ /<a href="javascript:paginatePeople\('(\d+)',''\);" class="link_pagination_arrow"> Next &gt;<\/a>/) {
    my $nx=$1;
    while($response =~ /title=".*?" href="\/friend\/p(\d+)/g) {
        print ID $1."\n";
    }
    $response = $browser->get('http://hi5.com/friend/processSearch.do?searchText=&searchType=advanced&offset='.$nx.'&qx=People+Search+')->as_string;
}



Время: 09:11