Я ищу библиотеку, функциональность которой похожа на Perl WWW:: Mechanize, но для PHP. В принципе, это должно позволить мне отправлять HTTP GET и POST-запросы с простым синтаксисом, а затем анализировать полученную страницу и возвращать в простом формате все формы и их поля вместе со всеми ссылками на странице.
Я знаю о CURL, но это немного слишком баребоны, а синтаксис довольно уродлив (тонны curl_foo($curl_handle, ...)
statement
Разъяснение:
Я хочу что-то более высокого уровня, чем ответы до сих пор. Например, в 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.