Я ищу библиотеку, которая имеет функциональность, похожую на Perl's WWW::Mechanize, но для PHP. В принципе, это должно позволить мне отправлять HTTP GET и POST-запросы с простым синтаксисом, а затем анализировать результирующую страницу и возвращать в простом формате все формы и их поля вместе со всеми ссылками на странице.Есть ли PHP-эквивалент Perl WWW :: Mechanize?
Я знаю о 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.
Фактически * есть * порт этого: http://www.compasswebpublisher.com/php/www-mechanize-for-php, но это часть некоторых CMS и нет загрузки. – Gordon 2013-03-06 08:34:43