내 사용자 이름과 비밀번호를 통해서만 액세스할 수 있는 포럼을 다운로드하고 싶습니다.
나는 다음을 시도했다:
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. 앞에 사용자 이름:password@를 추가하려고 했습니다. 다음과 같습니다.
C:\wget.exe wget -k -m -E -p -np -R *start=0* -o log.txt http://user:[email protected]/forum/categories/
결과는 동일합니다. 로그인이 되지 않은 것을 알 수 있습니다.
4번째 편집:
나는 또한에 따라 시도했다이 스레드:
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/
하지만 또 같은 문제!!
5번째 편집:
이제 로그인 버튼의 소스 코드를 분리한 것 같습니다.
<div class="forumSignup">
<a href="http://www.myforum.com/user/popupLogin" class="Button SignInPopup">Login</a> </div>
6번째 편집:
HTTrack으로도 시도했지만 문제는 같습니다. 로그인이 작동하지 않습니다. 또 다른 문제는 포럼 자체가 www.mywebsite.com/forum이라는 URL을 사용하지만 www.mywebsite.com에는 로그인이 필요하다는 것입니다. 그래서 예를 들어 사용자 이름과 같은 것을 사용할 때:[이메일 보호됨]mywebsite는 캡처되지만 포럼은 캡처되지 않습니다. 사용자 이름을 사용할 때:[이메일 보호됨]/forum 로그인이 작동하지 않고 아무것도 캡처되지 않습니다.
답변1
우선, 이름을 C:\wget.exe -k -m …
반복하지 마세요 wget
.
포럼에 로그인하는 것이 복잡해 보이기 때문에(간단한 사이트의 경우에도 복잡해질 수 있음) 가장 좋은 해결책은 아마도 브라우저로 로그인한 다음 쿠키*를 wget에 제공하는 것입니다(파일에 넣고 사용하거나 --load-cookies
직접 전달하는 것). --header "Cookie: name=value"
).
* 브라우저에 따라 추출 방법이 조금씩 다릅니다.
답변2
Wget은 <pass>@serveraddress
포트로 해석됩니다.
사용자 이름과 비밀번호를 지정하려면 --user
및 --password
스위치를 사용하십시오.
wget --user username --password passw http://...
답변3
를 사용하여 로그인한 사이트를 미러링하는 것은 어렵습니다 wget
. 을 사용하려면 전문적인 지식이 필요합니다 wget
. 현재 사용자 이름과 비밀번호, 쿠키 및 필요한 스위치를 전달합니다.
추가로 해야 할 일.
1. 모든 것이 정상화될 때까지 미러링을 피하십시오. 페이지를 재귀적으로 다운로드하면 웹 서버가 귀하의 IP를 블랙리스트에 추가하게 됩니다. (단일 페이지 저장을 시도)
2. 대부분의 웹 포럼은 다운로드 관리자를 싫어하므로 브라우저로 가짜 wget을 사용합니다. 보다이것자세한 내용은 답변해 주세요.
최고의 솔루션
이런 종류의 사이트를 미러링하는 가장 좋고 쉬운 방법은 **를 사용하는 것입니다.스크랩북**. 파이어폭스 플러그인입니다. Firefox를 실행하고 사이트에 로그인한 후 마우스 오른쪽 버튼을 클릭하고 다른 이름으로 페이지를 저장하고 도메인별로 필터링하기만 하면 됩니다. 보다이것사이트를 효율적으로 미러링하는 방법에 대한 답변입니다.
답변4
브라우저에서 쿠키 데이터에 접근할 수 있는 경우(Firefox에는 옵션->개인정보 아래에 자체 쿠키 브라우저가 있지만 이 작업을 쉽게 해주는 플러그인이 있습니다), 포럼에 수동으로 로그인하고 해당 도메인에 대한 모든 쿠키를 검색한 후 cookie.txt 파일에 저장하면 이전 명령에서도 작동할 수 있습니다.
C:\wget.exe wget --load-cookies cookies.txt -p http://www.myforum.com/forum/categories/
일부 로그인 페이지는 단일 명령줄에서 작업을 수행하기에는 너무 복잡합니다.
전체 도메인에 대한 모든 쿠키를 포함해야 한다는 것을 기억하십시오(단지 "www.myforum.com"이 아닌 "myforum.com"을 검색하십시오).