Как я могу получить тот же URL с другой строкой запроса с помощью Perl LWP :: UserAgent? - PullRequest
1 голос
/ 23 октября 2010

Я просмотрел статьи об использовании LWP, но все еще потерялся! На этом сайте мы находим список многих школ; см. обзорную страницу , перейдите по некоторым ссылкам и получите несколько страниц с результатами:

Я хочу проанализировать сайты, используя LWP :: UserAgent и для анализа: хочу использовать либо HTML :: TreeBuilder :: XPath, либо HTML :: TokeParser

В данный момент я думаю о выборе правильного запроса get! У меня есть некоторые проблемы с LWP :: Useragent. С дочерним сайтом обзора можно связаться по прямым ссылкам. но примечание: каждый сайт имеет контент. например следующие URL-адреса вышеупомянутых страниц результатов.

Как новичок здесь, я не могу показать вам окончания разных концовок, разместив полный URL, но здесь вы можете увидеть окончания:

id=21&extern_eid=709
id=21&extern_eid=789
id=21&extern_eid=1297
id=21&extern_eid=761

Существует много разных URL-адресов, которые отличаются в конце URL-адреса. Вопрос: как мне запустить LWP :: UserAgent? Я хочу получить и разобрать & ** все - 1000 сайтов. **

Вопрос; LWP выполняет работу автоматически !? Или мне нужно настроить LWP :: UserAgent, чтобы он автоматически просматривал различные URL-адреса ...

Решения: возможно, нам нужно сосчитать с нуля до 10000 с

extern_eid = 709 - (отсчет от нуля до 100000) здесь

www-db.sn.schule.de / index.php? ID = 21 & extern_eid = 709

Кстати: здесь данные для LWP User Agent;

МЕТОДЫ ЗАПРОСА Описанные методы в этом разделе используются для отправки запросы через пользовательский агент. следующие методы запроса при условии:

$ ua-> get ($ url) $ ua-> get ($ url, $ field_name => $ value, ...)

Этот метод отправит GET запрос на данный $ url. В дальнейшем аргументы могут быть приведены для инициализации заголовки запроса. Это дано как отдельные пары имя / значение. Возвращаемое значение является объектом ответа. Смотрите HTTP :: Response для описания интерфейса, который он обеспечивает. Там все еще будет объектом ответа возвращается, когда LWP не может подключиться к сервер, указанный в URL или когда другие ошибки в обработчиках протоколов происходят.

Вопрос в том, как правильно использовать LWP :: UserAgent на вышеупомянутом сайте - эффективно!?

Я с нетерпением жду любой помощи!

Ответы [ 2 ]

0 голосов
/ 23 октября 2010

Вы описываете следующие ссылки с целью просмотра веб-страниц. Подкласс LWP WWW::Mechanize делает это легче, чем ваша текущая попытка.

0 голосов
/ 23 октября 2010

Если я правильно понимаю ваш вопрос, вы пытаетесь использовать LWP :: UserAgent для одних и тех же URL-адресов с разными аргументами запроса, и вам интересно, предоставляет ли LWP :: UserAgent способ перебирать аргументы запроса?

Я не думаю, что у LWP :: UserAgent есть метод для вас. Однако вы можете создать цикл для создания URL-адресов и использовать LWP :: UserAgent несколько раз:

for my $id (0 .. 100000)
{
    $ua->get($url."?id=21&extern_eid=".(709-$id))
    //rest of the code
}

В качестве альтернативы вы можете добавить обработчик request_prepare, который вычисляет и добавляет аргументы запроса перед отправкой запроса.

...