4

Я хочу скачать форум, который я модерирую, пока он не закрылся навсегда. Там есть некоторая полезная информация, которую я хочу сохранить для себя, и я не хочу экспортировать данные на другой веб-сервер, я просто хочу страницы. Имейте в виду, я пользователь форума, а не администратор. Теперь я прогуглил это и обнаружил, что это легко сделать с помощью wget:Как я могу скачать весь (активный) форум phpbb?

Я использовал:

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/

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

Любые предложения, чтобы сделать эту работу?

2 ответа2

1

Вам может потребоваться настроить файлы cookie для сеанса, поскольку многие веб-сайты используют файлы cookie для обеспечения работы функций входа и выхода.

Здесь вам может помочь опция --load-cookies.

0

см мой ответ здесь: https://superuser.com/a/1371654/216033

Сначала нужно получить SID и использовать его в следующем запросе.

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

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}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .