PDA

Просмотр полной версии : Как выдернуть ссылку?


mkth
16.02.2010, 00:41
Пусть при обращении перлом к сайту он отдает два урла (в теле страницы) вида src='http://site1.com' и src='http://site2.com'.
Можно ли как-нибудь выдернуть ссылку src='http://site2.com' и перейти по ней, скажем, через 30 сек.,чтобы при парсинге не влететь в бан? Очень прошу помочь, заранее спасибо за помощь!

Solker
16.02.2010, 01:08
1) preg_match_all("#src='(.+?)'#",$data,$matches);
print_r($matches);

2) sleep(30);

3) header("Location: {$link[1][0]");

mkth
16.02.2010, 04:01
1) preg_match_all("#src='(.+?)'#",$data,$matches);
print_r($matches);

2) sleep(30);

3) header("Location: {$link[1][0]");

Спасибо большое.
Сам составил простенький запрос, а вот как выдрать линк не знаю, очень прошу помочь с кодом...


#!/usr/bin/perl

use LWP::UserAgent;

my $ua = LWP::UserAgent->new;
$ua->agent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)');
$ua->default_header('VIA' => "someproxy.ru");
$ua->default_header('Referer' => "http://mysite.ru");
$ua->default_header('Accept' => "text/html");
$ua->default_header('Accept-Charset' => "windows-1251,utf-8");

my $response = $ua->get('http://site.com');

preg_match_all("#src='(.)'#",$data,$matches);
print_r($matches);

sleep(30);

header("Location: {$link[1][0]");

if ($response->is_success) {
print $response->decoded_content;
}
else {
die $response->status_line;
}


в результате выполнения выводил на печать несколько ссылок, причем в первой ссылке - менялся домен, во второй - домен не меняется... Как выдрать вторую ссылку, и перейти по ней с таймаутом, чтобы ответ был выведен в печать, подмогните пожалуйста, поправьте код... :(

krypt3r
16.02.2010, 08:20
#!/usr/bin/perl
preg_match_all("#src='(.)'#",$data,$matches);
print_r($matches);
header("Location: {$link[1][0]");

Поржал :D Один просит пример на перле, второй дает пример на PHP, первый, недолго думая, вставляет PHP-код в перл-скрипт =))

mkth
16.02.2010, 16:08
Поржал :D Один просит пример на перле, второй дает пример на PHP, первый, недолго думая, вставляет PHP-код в перл-скрипт =))

А как надо, в перле?