Normalde sayfalarOturum açtıktan sonra yönlendiren sayfalar nasıl karşıdan yüklenir? Bir giriş formu var
wget --no-check-certificate --save-cookies cookies --keep-session-cookies \
--post-data="username=example&password=example" \
"https://example.com/index.php?title=Special:Userlogin&returntotitle="
wget --no-check-certificate --load-cookies=cookies \
--no-parent -r --level=2 -nc -E \
https://example.com/Special:Sitemap
ile indirilebilir Ama giriş gerekiyorsa DekiWiki sitelerin durumunda, bu, işe yaramaz.
sorun dikişler man wget
Not tarif edilecek: Wget'i POST isteği tamamlandıktan sonra, yönlendirilen URL'ye POST veri göndermez yönlendirilir eğer. Bunun nedeni, POST'u işleyen URL'lerin genellikle, POST'ı istemeyen veya kabul etmeyen normal bir sayfaya yeniden yönlendirmeyle yanıtı vermesidir. Bu davranışın optimal olduğunu tamamen açık değildir; Eğer çalışmazsa, ileride değişmiş olabilir.
Soru
bu örneğin Perl kullanarak yapılabilir Can belki HTML::TreeBuilder 3
veya HTML::TokeParser
veya Mechanize
veya başka bir Perl modülü ile?
Çok ilginç. Siteyi yansıtmak da mümkün mü? Örneğimde wget '--no-parent -r --level = 2' kullanıyorum. –
Orijinal sayfadan işaret edilen tüm sayfaları art arda indirmek mi istiyorsunuz? Hayır, curl'in ne de -r --level = 2 eşdeğeri vardır, ancak bir API arabirimi olan libcurl, bir html sayfasını ayrıştırmak için kolayca programlanabilir ve bu sayfadaki tüm bağlantıları indirebilir. Libcurl aşağıdaki diller (ve daha fazlası) için bağlamalar vardır: C, C++, Java, Lisp, .NET, Object-Pascal, Pascal, Perl, PHP, Python, Ruby, Visual Basic – Motes
@Motes, "-cookie-jar" "--cookie-jar" olarak değiştirilmeli, değil mi? – Sathish