Как скачать целый (активный) форум phpbb?

один из форумов, которые я часто посещаю (и добавили много качественного контента тоже), кажется, возникли проблемы с их сервером. Я не уверен в их способности разобраться в проблемах, с которыми они сталкиваются, и в разговоре с одним из администраторов он упомянул, что они не поддерживают данные.

Как полный отступить упаковывают что-то идет ужасно неправильно, я хочу, чтобы загрузить весь форум. Я знаю, что я не могу скачать БД или php файлы и т. д... Я просто хочу сделать локально просматривать весь форум.

Это означает, что я мог (когда у меня есть время) перенести сообщения на новый сайт, если они будут начинаться заново (специально или нет).

есть ли инструменты, которые позволили бы это?

Примечание: очевидно, его действительно важно, я могу просматривать его локально... что было бы очень сложно, если бы каждая из ссылок все еще указывала на'http://www.thesite.com/forum/specific_page.php' вместо '/forum / specific_page.php".

25
задан user28163
24.12.2022 8:42 Количество просмотров материала 2361
Распечатать страницу

5 ответов

Я делаю это прямо сейчас. Вот команда, которую я использую:

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/

Я хотел, чтобы удалить эти досадные вещи сессии id (sid=blahblahblah). Кажется, они автоматически добавляются индексной страницей, а затем прикрепляются ко всем ссылкам вирусным способом. За исключением одного, который где - то извивался-который ссылается на простой индекс.php, который затем продолжается без параметра sid=. (Возможно, есть способ заставить рекурсивный wget начать с index.php-я не знать.)

Я также исключил некоторые другие страницы, которые приводят к сохранению большого количества cruft. В частности memberlist.php и viewtopic.php, где указано p=, может создавать тысячи файлов!

из-за этой ошибки в wgethttp://savannah.gnu.org/bugs/?20808 он по - прежнему будет загружать поразительное количество этих бесполезных файлов-esepcially viewtopic.php?P= единицы - перед простым удалением. Таким образом, это будет сжигать много времени и пропускной способности.

7
отвечен Andrew Russell 2022-12-25 16:30

Я недавно столкнулся с аналогичной проблемой с сайтом phpbb я часто грозит вымирание (к сожалению, из-за админ уходит). С более чем 7 лет сообщений на форуме я не хотел, чтобы он исчез, поэтому я написал сценарий perl, чтобы пройти все темы и сохранить их на диске в виде плоских файлов HTML. В случае, если кто-то еще сталкивается с подобной проблемой, скрипт здесь:

https://gist.github.com/2030469

Он опирается на регулярное выражение для извлечения количество сообщений в теме (необходимое для разбиения на страницы), но кроме этого, как правило, работает. Некоторые из регулярных выражений, возможно, потребуется настройка в зависимости от вашей темы phpBB.

2
отвечен Evan 2022-12-25 18:47

попробуйте некоторую комбинацию флагов wget, например:

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

где-m-зеркало, а-k - "преобразовать ссылки". Вы также можете добавить -p, чтобы загрузить изображения, так как я не могу вспомнить, делает ли это-m.

1
отвечен Phoshi 2022-12-25 21:04

здесь добавлена информация о @andrew-russell

по-прежнему много шума, но начать, если вам нужно войти.

этот проект выглядит многообещающе, но не совсем работает для меня: https://github.com/lairdshaw/fups

пример с логином:

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$'1' -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
отвечен Tilo 2022-12-25 23:21

HTTrack это инструмент, который может помочь вам. Я не уверен, что он будет работать на форумах.

-1
отвечен Sakamoto Kazuma 2022-12-26 01:38

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх