我想下載一個只能透過使用者名稱和密碼存取的論壇。
我嘗試了以下方法:
C:\wget.exe 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.myforum1234.com/forum/categories/discussions
這就是我在 cmd 中輸入的命令。因為當我單擊 wget.exe 時,會出現一個黑色窗口,但很快就消失了。但我認為這也是一個正確的方法(我使用Windows XP)?
我的問題是結果顯示wget無法下載論壇,因為它無法登入。因此,顯示了登入頁面(已下載),但僅此而已。當我執行命令時,我已登入。
我不是wget專業人士,所以不確定我的命令是否正確?我從另一個帖子複製了這個。一個簡單的C:\wget.exe wget http://www.theforumurl.com
不起作用。
編輯:
我現在也嘗試過
C:\wget.exe wget -k -m -E -p -np -R *start=0* -o log.txt http://www.myforum.com/forum/categories/discussions
但這裡也有同樣的問題。
第二次編輯關於第一條評論中的連結:
我現在嘗試了
C:\wget.exe wget -k -m -E -p -np -R *start=0* -o log.txt http://www.myforum.com/forum/categories/discussions --post-data="username&password=1234"
但同樣的問題又來了!
當我將滑鼠懸停在登入按鈕上時,我可以看到以下 URL:
http://www.myforum.com/user/popupLogin
我必須使用這個嗎?
第三次編輯:
我還嘗試在 www. 之前添加用戶名:密碼@,如下所示:
C:\wget.exe wget -k -m -E -p -np -R *start=0* -o log.txt http://user:[email protected]/forum/categories/
結果是一樣的,可以看到登入失敗。
第四次編輯:
我也嘗試過根據這個線程:
C:\wget.exe wget --save-cookies cookies.txt --post-data 'user=usern&password=passw' http://www.myforum.com/user/popupLogin
C:\wget.exe wget --load-cookies cookies.txt -p http://www.myforum.com/forum/categories/
但同樣的問題又來了!
第五次編輯:
我想我現在隔離了登入按鈕的源代碼:
<div class="forumSignup">
<a href="http://www.myforum.com/user/popupLogin" class="Button SignInPopup">Login</a> </div>
第六次編輯:
我也用HTTrack嘗試過,但問題是一樣的:登入不起作用。另一個問題似乎是論壇本身使用 URL www.mywebsite.com/forum,但 www.mywebsite.com 需要登入。所以當我使用例如用戶名之類的東西時:[電子郵件受保護]mywebsite 被捕獲,但論壇未被捕獲。當我使用用戶名時:[電子郵件受保護]/forum 登入不起作用並且沒有捕獲任何內容。
答案1
首先,你會做C:\wget.exe -k -m …
,不要重複wget
名字。
由於登入論壇似乎很複雜(即使對於簡單的網站也可能變得複雜),最好的解決方案可能是使用瀏覽器登錄,然後將 cookies* 提供給 wget (放入文件中並使用--load-cookies
或直接通過--header "Cookie: name=value"
)。
* 提取它們的方式根據您的瀏覽器略有不同。
答案2
Wget 解釋<pass>@serveraddress
為連接埠。
若要指定使用者名稱和密碼,請使用--user
和--password
開關:
wget --user username --password passw http://...
答案3
答案4
如果您可以在瀏覽器上存取 cookie 資料(firefox 在選項 -> 隱私下有自己的 cookie 瀏覽器,但有插件可以簡化此任務),請手動登入論壇,搜尋該網域的所有 cookie 並將它們儲存在cookies.txt 檔案中,它可能會與您先前的命令一起使用:
C:\wget.exe wget --load-cookies cookies.txt -p http://www.myforum.com/forum/categories/
某些登入頁面太複雜,無法嘗試在單一命令列中執行任務。
請記住包含整個網域的所有 cookie(搜尋“myforum.com”,而不僅僅是“www.myforum.com”)