Xpoint
   [напомнить пароль]

Парсинг инфы в полученной странице

Метки: [без меток]
2007-02-06 23:26:28 [обр] FurA[досье]
сообщение промодерировано

Добрый день уважаемые. Хочу сразу извиниться за название темы, может быть она не полностью отражаем её суть. В общем есть сие чудо:

#!/usr/bin/perl
use LWP::Simple;

my $start=0; 
my $end=99;

  for (; $start!=$end ; ++$start) {
      
      my $url = "http://somesite/script.php?param=$start"; 
      my $content = get $url;

  if($content =~ m/РЕГЭПС/i) 
  {
  
   my @stuff = $page =~ m/РЭГЭПС/g;

  } else {

 print "done";
 exit;
 
 }

Объясняю назначение скрипта. При проходе по линку somesite/script.php?param=N я получаю некий текст, закюченный в кавыячки. слова там разделены знаком | . Т.е. допустим при запросе somesite/script.php?param=1 я получаю : " Здравствуйте многоуважаемый 'Евгений|Павлович|' ". Мне нужно выдернуть выражение Евгений|Павлович (именно вместе с | , но без кавычек) и сложить все это в переменную. Кстати, сложно будет добавить еще одно условие, если, допустим, следующая ситуация: enothersite/script2.php?param2=2 , получаем "Здравствуйте многоуважаемый 'Cвердлов|Евгений|Павлович|' "

Заранее спасибо и благодарен

спустя 5 часов [обр] Роман Чемисов(16/350)[досье]

FurA[досье]

#!/usr/bin/perl
use LWP::Simple;

my $start=0; 
my $end=99;
my @stuff;

  for (; $start!=$end ; ++$start) {
      
      my $url = "http://somesite/script.php?param=$start"; 
      my $content = get $url;

  if($content =~ m/'([^']+)'/) 
  {
  
   push @stuff, $1;

  } else {

 print "done";
 exit;
 
 }

P. S. Не проверено!

спустя 8 часов [обр] Алексей Севрюков(45/1292)[досье]
М FurA[досье] А автор этого somesite в курсе что Вы занимаетесь граббингом с его ресурса?
спустя 10 часов [обр] FurA[досье]

Это мой проект, линк на него я не стал постить (думал сочтете за рекламу и забаните).

 Роман Чемисов
Спасибо. К сожалению под рукой тоже нет интерпретатора.Вы не могли бы пояснить неопытному смысл данного рэгепса?

спустя 2 часа 36 минут [обр] Spectrum2(0/26)[досье]
Выбрать один или более символов (кроме символа '), окруженных символами ' и записать выбранное значение в переменную $1.
спустя 1 час 54 минуты [обр] Роман Чемисов(16/350)[досье]
Алексей Севрюков[досье]
А что запрещено заниматься граббингом? Лично я не считаю это чем-то плохим.
Понятное дело, что это плохо, если я выдаю чью-то информацию за свою. Ну а если я её каким-то образом обрабатываю и потом уже отдаю пользователю в более удобной форме?
спустя 16 часов [обр] Spectrum2(0/26)[досье]
Роман Чемисов[досье]
Если запрашивать какой-нибудь тяжеловесный CGI скрипт, то может ненароком получиться DOS-атака. Еще, на некоторых серверах стоят модули Apache (не помню, как называются, м.б. mod_bandwidth), которые блокируют IP запрашивающий слишком много URL за единицу времени.
спустя 17 минут [обр] Spectrum2(0/26)[досье]
Я хочу сказать, что нужно делать паузу после каждого запроса и установить таймаут на ожидание ответа от удаленного сервера. По умолчанию, таймаут равен 3 минутам(?), что может оказаться слишком много и работа скрипта может быть прервана или может оказаться, что одновременно работают несколько экземпляров скрипта. Еще одна проблема: когда скрипт выполняется достаточно долго броузер может послать повторный запрос = еще один экземпляр скрипта. Поэтому, желательно, чтобы в один момент времени работал только один экземпляр скрипта, IMHO.
спустя 8 часов [обр] Роман Чемисов(16/350)[досье]
Spectrum2[досье]
Это мне всё понятно. Но это не мои проблемы. Пусть этим занимается владелец ресурса, а я всего лишь запрашиваю страничку.
спустя 4 часа 37 минут [обр] Spectrum2(0/26)[досье]
Роман Чемисов[досье] Отчасти ваши. Это не только правило "хорошего тона". Ну если получаете информацию с этого ресурса, то вы должны быть заинтересованы в его работоспособности и в работоспособности своей программы.
Powered by POEM™ Engine Copyright © 2002-2005