Czy istnieje odpowiednik PHP Perl's WWW :: Mechanize?
Szukam biblioteki o funkcjonalności podobnej do PerlaWWW :: Mechanize, ale dla PHP. Zasadniczo powinno pozwolić mi przesyłać żądania HTTP GET i POST z prostą składnią, a następnie analizować wynikową stronę i zwracać w prostym formacie wszystkie formularze i ich pola, wraz ze wszystkimi linkami na stronie.
Wiem o CURL, ale jest trochę za gołe, a składnia jest dość brzydka (tonycurl_foo($curl_handle, ...)
sprawozdania
Wyjaśnienie:
Chcę czegoś bardziej wysokiego niż dotychczasowe odpowiedzi. Na przykład w Perlu możesz zrobić coś takiego:
# 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');
Aby zrobić to samo, używając HTTP_Client lub wget lub CURL byłoby dużo pracy, musiałbym ręcznie przeanalizować strony, aby znaleźć linki, znaleźć adres URL formularza, wyodrębnić wszystkie ukryte pola i tak dalej. Powód, dla którego pytam o rozwiązanie PHP, jest taki, że nie mam doświadczenia z Perlem i mógłbym prawdopodobnie zbudować to, czego potrzebuję przy dużej ilości pracy, ale byłoby znacznie szybciej, gdybym mógł zrobić powyższe w PHP.