Rekursiv nerladdning med wget

Trädvy Permalänk
Medlem
Plats
::1
Registrerad
Jul 2003

Rekursiv nerladdning med wget

Jag skulle vilja ladda hem allt från en http-server så jag kan "surfa" på sidan offline. Problemet som uppstår är att när jag försöker laddahem sidan (med växlar för rekursiv nerladdning) är att jag bara får första sidan. Detta tror jag beror på wget följer länkar och sidan i fråga är krypterad och kan bara avläsas med JavaScript funktionen decrypt_p(x). Även om jag har knäckt kryperingen (man får nycklen och allt när man trycker view-source så vad är poängen?) så hjälper kanske inte det jätte mycket då jag vill ha allt inte bara det som är länkat och dess utom hur skulle jag använda mig av den dekrypterade datan? Pipa cut eller? Hur som helst skulle detta vara om ständigt och inte ge mig det resultat jag ville ha då jag vill ha allt och inte bara det som är länkat? Så ni behöver inte tipsa mig hur jag får fram källan :).

Så om någon vet hur jag skall göra med wget eller liknade för att tanka hem allt? Eller kanske någon som vet hur man listar allt på en http?

Jag har försökt här ett tag och det vekrar inte gå men det är alltid värt ett försök att testa här :).

Trädvy Permalänk
Medlem
Plats
Umeå
Registrerad
Mar 2002
Citat:

Från: http://www.gnu.org/software/wget/faq.html#3.6
3.6 Does Wget understand JavaScript?

Wget doesn't feature JavaScript support and is not capable of performing recursive retrieval of URLs included in JavaScript code.

In fact, it is impossible to extract URLs from JavaScript by merely parsing it. Web clients need to actually execute it, and Wget can't do that since it's not a GUI browser.

However, some heuristics could be applied to JavaScript source code to extract URLs from certain often-encountered JavaScript patterns, such as rollover image changes. This feature will probably added in a later version of Wget.

Det verkar alltså vara ganska kört med wget tyvärr

The difference between stupidity and genius - the latter has limits

Trädvy Permalänk
Medlem
Plats
::1
Registrerad
Jul 2003

Nej, som jag torde. Det finns heller inget sätt att lista allt? Använda wildcards? Eller något annat knix?

Trädvy Permalänk
Medlem
Plats
Stockholm, Täby
Registrerad
Jul 2001
Citat:

Ursprungligen inskrivet av Vijjje
Nej, som jag torde. Det finns heller inget sätt att lista allt? Använda wildcards? Eller något annat knix?

Lär dig skripta. Python/Perl/Ruby duger mycket väl till det. Har själv t.ex. gjort en trådad "bildnerladdare" (som snor alla bilder från en hemsida) i Python och det var inte allt för svårt...

Trädvy Permalänk
Medlem
Plats
::1
Registrerad
Jul 2003
Citat:

Ursprungligen inskrivet av Sachankara
Lär dig skripta. Python/Perl/Ruby duger mycket väl till det. Har själv t.ex. gjort en trådad "bildnerladdare" (som snor alla bilder från en hemsida) i Python och det var inte allt för svårt...

Tar inte det väldigt lång tid? jag vet inte var någonstans på servern filerna finns eller vad de heter. Altså måste jag testa var enda möjliga kombination av url som finns (sidan följer nog inte 8.3-nmangivning heller så det blir mycket att testa). Kommer då få 404 hela tiden och 401 (man måste logga in och alla har inte samma rättigheter). Men 401 är inget stort problem då det inte är så många sidor. Men jag kanske får göra så om det inte finns något bättre sätt :(. Nu kan jag varken Python/Perl/Ruby så jag vet inte om det är så man måste göra. Kan däremot c/c++, finns det någon bra lösning man kan göra här?

Trädvy Permalänk
Medlem
Plats
Umeå
Registrerad
Mar 2002

Eftersom vi inte vet hur sidan du pratar om ser ut kodmässigt, så är det ju svårt att ge lösningar.
Att bruteforce:a filnamn är dock inte en godtagbar lösning, det kan jag väl iaf säga.

Det som du iaf skulle behöva göra i ett ev. program, är att hämta sidans kod, evaluera (exekvera) javascripten, och sedan leta länkar med något lämpligt regexp, och sedan hämta dessa länkar och göra samma saker med dom osv... Så det blir ju lite pillande iaf...

The difference between stupidity and genius - the latter has limits