Wie kann ich ein phpbb-Forum mit wget und passwortgeschützten Bereichen herunterladen?

2014
Rocky84

Ich möchte ein Forum herunterladen, das ich moderiere, bevor es endgültig geschlossen wird. Es gibt einige nützliche Informationen, die ich für mich selbst speichern möchte, und ich möchte die Daten nicht auf einen anderen Webserver exportieren. Ich möchte nur die Seiten. Wohlgemerkt, ich bin ein Benutzer im Forum, nicht der Administrator. Jetzt habe ich gegoogelt und festgestellt, dass es mit wget leicht zu erledigen ist: Wie kann ich ein gesamtes (aktives) phpbb-Forum herunterladen?

Ich benutzte:

wget -k -m -E -p -np -R viewtopic.php*p=*,memberlist.php*,faq.php*,posting.php*,search.php*,ucp.php*,viewonline.php*,*sid*,*view=print*,*start=0* -o log.txt http://www.example.com/forum/ 

Ich habe damit experimentiert, aber ich kann nur die öffentlich sichtbaren Abschnitte herunterladen, nicht die Abschnitte, für die Sie sich anmelden müssen. Ich habe versucht, dies zu erreichen, indem ich ein Firefox-Plugin verwende, um eine cookies.txt (während meine Sitzung im Forum angemeldet ist) zu erstellen und die --load-cookies-Datei cookies.txt hinzuzufügen dem Befehl jedoch nur die öffentlich sichtbaren Abschnitte .

Irgendwelche Vorschläge, damit das funktioniert?

4
Kennen Sie Python? paradroid vor 13 Jahren 0
Ich gehe davon aus, dass wget allen Links auf den gefundenen Seiten folgt. Wenn Sie mit der Indexseite eines Forums beginnen, gehe ich davon aus, dass der Code von oben nach unten durchgeht. Einer der Links auf der Indexseite ist der Link "Abmelden". Bei jedem Treffer wird die Sitzung automatisch abgemeldet. Ich habe versucht, für login.php * oder so etwas hinzuzufügen und auszuschließen, aber bisher erhalte ich dieselben Ergebnisse. Weiß jemand, wie ich wget sagen kann, dass jede Seite, die mit http://www.example.com / forum / login.php * beginnt, ausgeschlossen wird? damit es sich nicht abmeldet, wenn es beschäftigt ist? vor 13 Jahren 1

2 Antworten auf die Frage

1
Randolf Richardson

Möglicherweise müssen Sie Cookies für die Sitzung einrichten, da viele Websites Cookies verwenden, damit die Funktionen zum Anmelden und Abmelden funktionieren.

Die Option "--load-cookies" kann Ihnen hier helfen.

0
Tilo

Siehe meine Antwort hier: https://superuser.com/a/1371654/216033

Zuerst müssen Sie die SID abrufen und in der nächsten Anforderung verwenden.

Beispiel mit Login:

PHPBB_URL=http://www.someserver.com/phpbb USER=MyUser PASS=MyPass  wget --save-cookies=./session-cookies-$USER $PHPBB_URL/ucp.php?mode=login -O - 1> /dev/null 2> /dev/null  SID=`cat ./session-cookies-$USER | grep _sid | cut -d$'\011' -f7`  echo "Login $USER --> $PHPBB_URL SID=$SID"  wget --save-cookies=./session-cookies-$USER \ --post-data="username=$USER&password=$PASS&redirect=index.php&sid=$SID&login=Login" \ $PHPBB_URL/ucp.php?mode=login --referer="$PHPBB_URL/ucp.php?mode=login" \ -O - 1> /dev/null 2> /dev/null  wget --load-cookies ./session-cookies-$USER -k -m -E -p -np -R memberlist.php*,faq.php*,viewtopic.php*p=*,posting.php*,search.php*,ucp.php*,viewonline.php*,*sid*,*view=print*,*start=0* $PHPBB_URL/viewtopic.php?t=27704  ######## loop thru topics see below(but above should get most with the options.  #wget --load-cookies ./session-cookies-$USER -k -m -E -p -np -R $PHPBB_URL/viewtopic.php?t=