Lolz - 2012-10-15 15:26:35

Od razu zaznaczam - TO NIE JEST to skrypt, który nam pozwoli na parsowanie treści forum do bazy danych, ale WYŁĄCZNIE kopię całego forum podobną do kopii google.

0.
-Tworzymy odpowiednie konto, ustawiając mu ilość postów i grupę, która będzie pozwalała zbackupować tylko to, co chcemy.
-W ustawieniach wyświetlania ustawiamy zarówno "Wątki" i "Posts" na 75 (ograniczamy w ten sposób liczbę stron, które będzie trzeba skopiować)

1. Pobieramy Wget dla Windows (Linuksiarze przechodzą do pkt 2):
a) Pobieramy:
http://www.multiupload.nl/SK4OR6RRBJ
b) wypakowujemy na dysk C: (tak, aby ścieżka do wget.exe wyglądała tak: C:\wget\wget.exe)
-Menu start -> uruchom -> cmd -> potwierdzamy enterem

2. Kopiujemy kod i wklejamy, np. do notatnika:

Kod:

wget -k -m -E -p -np -R memberlist.php*mode=email*,faq.php*,viewtopic.php*pid=*,posting.php*,search.php*,ucp.php*,viewonline.php*,*view=print*,*start=0*,mcp.php*,report.php*,reputation.php*,buddy.php*,gallery.php*,message_send.php*,gallery_post.php*,inne.php*,misc.php*,post.php*,reputation.php*,viewprintable.php* --no-cookies --header "Cookie: punbb_cookie=TUTAJ_COOKIE" -o log.txt http://TUTAJ_ADRES.pun.pl/

Kod zawiera trochę niepotrzebnych reguł wykluczających (bazowany na skrypcie dla phpbb3), ale nie wpływa to na jego prędkość ani działanie.
-Zmieniamy TUTAJ_ADRES.pun.pl na adres swojego forum (małe litery)
-Jeśli chcemy mirrorować jako gość - usuwamy:

Kod:

--header "Cookie: punbb_cookie=TUTAJ_COOKIE"

-W przeciwnym wypadku zmieniamy TUTAJ_COOKIE na cookie użytkownika, z którego konta będziemy robić mirror. Do tego celu polecam stworzyć specjalne, oddzielne konto!
-Aby pobrać cookie (przykład dla Firefoksa) wykonujemy następujące kroki:
a) Ctrl+Shift+P (tryb prywatny, włącz koniecznie!)
b) Logujemy się jako wybrany użytkownik (Pamiętaj! adres - z www i bez www ma znaczenie! Musi być taki sam jaki dałeś w "TUTAJ_ADRES")
c) Narzędzia -> Opcje -> Prywatność -> usunąć pojedyncze ciasteczka
d) Kliknij na jakis_adres.pun.pl, a następnie na ciasteczku o nazwie punbb_cookie (DOKŁADNIE taka nazwa, bez żadnych dopisków)
e) Kopiujemy zawartość cookie i wklejamy zamiast TUTAJ_COOKIE
Przykładowa zawartość:

Kod:

a%3A2%3A%7Bi%3A0%3Bs%3A1%3A%222%22%3Bi%3B1%3Bs%3B22%3A%22934e2fb5d279d42b79cfb8e39d4bf534%22%3B%7D

(spokojnie, to przykładowe cookie nie działa, zadbałem o to - chodzi tylko o wizualizację XD)
f) NIE WYLOGOWUJEMY SIĘ, ale wyłączamy tryb prywatny z pomocą ctrl+shift+p!
g) Kopiujemy zmieniony kod

3. Uruchamiamy konsolę (Linuksiarze wiedzą jak to zrobić, przechodzą od razu do podpunktu d) ):
a) [Windows] + R
b) Wpisz: cmd i zatwierdź enterem
c) Wpisz:  cd C:\wget i zatwierdź enterem
d) Wklej wcześniej skopiowany kod, zatwierdź enterem... i czekaj XD
e) Otwórz folder C:\wget, tam jest folder z kopią

4. Wrzuć pliki na jakiś serwer, niestety linki nie są sprawne.
Czemu? Wget pobierając zmienił (przykładowy link):
viewtopic?id=51&p=20
na:
viewtopic@id=51&p=20.html
więc aby działały musicie zrobić w .httaccess odpowiednią regułkę przekierowania, ale to zostawiam w waszej kwestii. ^^

Na koniec - skrypt jest niedoskonały i trochę błądzi po forum, więc pobieranie może trochę zająć (polecam zostawić na noc), a backup będzie zajmować sporawo (na moim forum, na którym napisanych jest ponad 1000 tematów i prawie 100tys postów, backup zajął 200MB), bo dla każdej strony cały kod html zapisuje się oddzielnie (ale style obrazki itp na szczęście nie), ale serwery w stylu cba.pl powinny taką kopię spokojnie pomieścić. Dodatkowo po spakowaniu rozmiar powinien znacznie zmniejszyć się (u mnie - dwudziestokrotnie).

Po co taki backup...? Cóż, może się przydać np. gdy przenosimy forum na inny serwer i boimy się, że po jakimś czasie wszystkie stare posty z pun.pl zostaną bezpowrotnie skasowane wraz z forum.
Dodatkowo punBB jest mocno dziurawe i przy usuwaniu użytkowników wraz postami tworzą się puste strony w tematach...
Wtedy należy zwrócić się do tomka, który to naprawi... ale w taki sposób, że przy okazji usuną się wszystkie tematy i posty napisane przez gości/użytkowników usuniętych bez usuwania ich postów. Nieciekawa sprawa, miałem okazję tego już doświadczyć więc wolałem się ubezpieczyć na przyszłość.

Legalność używania tego skryptu:
Używając go nie robicie nic więcej, niż robilibyście zapisując każdą stronę ręcznie na dysk, nie kopiujecie bazy danych... w skrócie - robicie dokładnie to samo co, np. crawlery Google. Więc tak - jest to jak najbardziej legalne. ;)

www.planetaziemia.pun.pl www.ksg1922.pun.pl www.pokemon-nowageneracja.pun.pl www.vwteamkutno.pun.pl www.dsvsparta.pun.pl