Есть ли PHP-эквивалент WWW :: Mechanize в Perl?
Я ищу библиотеку, которая имеет функциональность, аналогичную PerlWWW :: Mechanize, но для PHP. По сути, это должно позволить мне отправлять HTTP-запросы GET и POST с простым синтаксисом, а затем анализировать полученную страницу и возвращать в простом формате все формы и их поля вместе со всеми ссылками на странице.
Я знаю о CURL, но он слишком скромный, а синтаксис довольно уродливый (тонныcurl_foo($curl_handle, ...)
заявления
Разъяснение:
Я хочу что-то более высокого уровня, чем ответы до сих пор. Например, в Perl вы можете сделать что-то вроде:
# navigate to the main page
$mech->get( 'http://www.somesite.com/' );
# follow a link that contains the text 'download this'
$mech->follow_link( text_regex => qr/download this/i );
# submit a POST form, to log into the site
$mech->submit_form(
with_fields => {
username => 'mungo',
password => 'lost-and-alone',
}
);
# save the results as a file
$mech->save_content('somefile.zip');
Чтобы сделать то же самое, используя HTTP_Client или wget или CURL, было бы много работы, мне пришлось бы вручную анализировать страницы, чтобы найти ссылки, найти URL-адрес формы, извлечь все скрытые поля и так далее. Причина, по которой я спрашиваю решение PHP, заключается в том, что у меня нет опыта работы с Perl, и я мог бы, вероятно, построить то, что мне нужно, с помощью большой работы, но было бы намного быстрее, если бы я мог сделать вышеупомянутое в PHP.