Wie kann ich ein ganzes (aktives) phpbb Forum herunterladen?

Eines der Foren, die ich häufig besuche (und auch viele hochwertige Inhalte hinzugefügt habe), scheint Probleme mit ihrem Server zu haben. Ich bin nicht zuversichtlich, ob sie die Probleme lösen können, die sie haben, und spreche mit einem der Administratoren, die er erwähnt hat, dass sie die Daten nicht sichern.

Als eine komplette zurückgreifen, sofern etwas geht schrecklich schief ich will download das gesamte forum. Mir ist bewusst, dass ich die Datenbank oder die PHP-Dateien usw. nicht herunterladen kann... Ich nur möchten Sie eine lokal durchsuchbare Kopie des gesamten Forums erstellen?

Dies bedeutet, dass ich die Beiträge (wenn ich Zeit habe) auf die neue Site übertragen kann, falls sie neu beginnen (absichtlich oder nicht).

Gibt es irgendwelche Werkzeuge, die dies erlauben würden?

Randnotiz: Offensichtlich ist es wirklich wichtig, dass ich es lokal durchsuchen kann... was sehr schwierig wäre, wenn jeder der Links immer noch auf 'http://www.thesite.com/forum/specific_page.php " und nicht '/forum/specific_page.php'.

Author: user28163, 2010-03-04

5 answers

Ich mache das gerade. Hier ist der Befehl, den ich verwende:

wget -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* -o log.txt http://www.example.com/forum/

Ich wollte diese lästigen Session-ID-Dinge ausziehen (sid=blahblahblah). Sie scheinen automatisch von der Indexseite hinzugefügt zu werden und werden dann virenähnlich an alle Links angehängt. Bis auf einen, der irgendwo weggewirbelt ist - der auf einen einfachen Index verweist.php, das dann ohne sid= parameter fortgesetzt wird. (Vielleicht gibt es eine Möglichkeit, das rekursive wget zu zwingen, mit dem Index zu beginnen.php-ich nicht wissen).

Ich habe auch einige andere Seiten ausgeschlossen, die dazu führen, dass viele Cruft gespeichert werden. Insbesondere Memberliste.viewtopic php und.php, wo p= angegeben ist, können schaffen Tausende von Dateien!

Aufgrund dieses Fehlers in wget http://savannah.gnu.org/bugs/?20808 es wird immer noch eine erstaunliche Anzahl dieser nutzlosen Dateien herunterladen-esepcially viewtopic.php?p= Einsen-bevor sie einfach gelöscht werden. Das wird also viel Zeit und Bandbreite verbrennen.

 8
Author: Andrew Russell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-03-05 14:38:41

Vor kurzem habe ich konfrontiert ein ähnliches Problem mit einem phpBB-Seite, die ich häufiger die unmittelbar vor der Ausrottung (leider aufgrund der admin-vergehen). Mit über 7 Jahren Posts im Forum wollte ich es nicht verschwinden sehen, also habe ich ein Perl-Skript geschrieben, um alle Themen zu gehen und sie als flache HTML-Dateien auf der Festplatte zu speichern. Falls jemand anderes mit einem ähnlichen Problem konfrontiert ist, ist das Skript hier verfügbar:

Https://gist.github.com/2030469

Es basiert auf einem regulären Ausdruck, um die Anzahl der Beiträge in ein Thema (zum Paginieren erforderlich), das jedoch im Allgemeinen funktionieren sollte. Einige der regulären Ausdrücke müssen möglicherweise je nach phpBB-Thema angepasst werden.

 3
Author: Evan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-03-14 15:25:04

Versuchen Sie, eine Kombination von wget flags wie:

wget -m -k www.example.org/phpbb

Wobei-m Spiegel ist und-k "Links konvertieren"ist. Möglicherweise möchten Sie auch-p hinzufügen, um Bilder herunterzuladen, da ich mich nicht erinnern kann, ob-m dies tut.

 1
Author: Phoshi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-03-04 18:47:20

Hier einige zusätzliche Informationen zu @andrew-russell -

Immer noch viel Lärm, aber ein Anfang, wenn Sie sich anmelden müssen.

Dieses Projekt sieht vielversprechend aus, hat aber bei mir nicht ganz funktioniert: https://github.com/lairdshaw/fups

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={1..29700}
 0
Author: Tilo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-10-31 16:59:44

HTTrack ist ein Werkzeug, das Ihnen helfen könnte. Ich bin mir jedoch nicht sicher, ob es in Foren funktionieren wird.

 -1
Author: Sakamoto Kazuma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-03-04 19:30:39