WWW :: Механизация и yellowpages.com - PullRequest
       30

WWW :: Механизация и yellowpages.com

0 голосов
/ 02 сентября 2011

Я пытаюсь найти yellowpages.com через Perl-модуль WWW :: Mechanize.

$mech->get( "http://www.yellowpages.com" );
$mech->form_name( "standard-searchform" );
$mech->field( "search-terms, "schneider" );
$mech->field( "search-location", "CA" );
$mech->submit();

Я также пробовал $ mech-> submit_form (...) со значением / типом кнопки,но я все время получаю следующее сообщение:

Error POSTing http://www.yellowpages.com/real_deals: Internal Server Error at /usr/lib/cgi-bin/index.pl line 39

Строка 39 -

$mech->submit();

Пересылает ли yp.com Механизацию на этот сайт?Как я могу избежать этого?

1 Ответ

1 голос
/ 02 сентября 2011

Сначала вы пропустили " после поисковых терминов.Глядя на исходный код желтых страниц, нет формы с именем "стандартная форма поиска".Форма с идентификатором "searchform-form".Так что этот пример должен работать:

my $mech = WWW::Mechanize->new;

$mech->get( "http://www.yellowpages.com" );
$mech->form_id( "searchform-form" );
$mech->field( "search-terms", "schneider" );
$mech->field( "search-location", "CA" );
$mech->submit();

РЕДАКТИРОВАТЬ:

также условия поиска и местоположение поиска являются входными идентификаторами, где документация WWW :: Mechanize говорит:

Учитывая имя поля, установите его значение равным указанному значению

Это означает, что вы должны изменить их с помощью: search_terms и geo_location_terms.

...