wikipedia의 일부 부분은 로그인 할 때 다르게 나타납니다. 사용자 페이지를 가져 와서 마치 마치 마치 로그인 한 것처럼 보입니다.
이런 사용자 페이지를 얻을 수있는 방법이 있습니까
http://en.wikipedia.org/wiki/User:A
이것은 로그인 페이지입니다.
http://en.wikipedia.org/w/index.php?title=Special:UserLogin&returnto=Login&campaign=ACP3
wikipedia의 일부 부분은 로그인 할 때 다르게 나타납니다. 사용자 페이지를 가져 와서 마치 마치 마치 로그인 한 것처럼 보입니다.
이런 사용자 페이지를 얻을 수있는 방법이 있습니까
http://en.wikipedia.org/wiki/User:A
이것은 로그인 페이지입니다.
http://en.wikipedia.org/w/index.php?title=Special:UserLogin&returnto=Login&campaign=ACP3
답변:
가장 쉬운 방법 : 일반적으로 로그인 한 것처럼 페이지를 가져 오려면 특정 웹 사이트에서 (로그인 된) 쿠키를 wget 또는 curl 로 제공해야합니다 .
Firefox를 사용하는 경우 Export Cookies 애드온을 통해 쉽게 수행 할 수 있습니다. 애드온을 설치하고 다음을 수행하십시오.
cookies.txt파일을 저장하십시오 ( 파일 이름 / 대상을 변경할 수 있음).터미널을 열고 옵션 wget과 함께 사용 하십시오 --load-cookies=FILENAME. 예 :
wget --load-cookies=cookies.txt http://en.wikipedia.org/wiki/User:A
curl --cookie cookies.txt ...(Chrome / Chromium 사용자를 위해이 답변을 업데이트하려고합니다)
--cookie-jar또는 wget을 와 --save-cookies --keep-session-cookies그들을 사용 후 로그인 쿠키 저장, 사이트에 로그인하기 위해 HTTP / S PUT 방식과 함께, 옵션, 브라우저를 시뮬레이션하십시오.grep mydomain cookies.txt > mydomain-cookies.txt
추가 사항을 설치하지 않고 나를 위해 일한 또 다른 쉬운 솔루션 :
이를 통해 쉘에 직접 붙여 넣을 수있는 명령을 제공합니다.
curl 'https://mysite.test/my-secure-dir/picture1.jpg' \
-H 'User-Agent: Mozilla/5.0 ...' \
-H 'Cookie: SESSIONID=abcdef1234567890'
그런 다음 명령에서 URL을 수정하여 원하는 것을 가져올 수 있습니다.
cURL을 사용하면 두 가지 방법으로 쿠키를 처리하기가 정말 쉽습니다.
curl www.target-url.com -c cookie.txt그런 다음 cookie.txt라는 파일을 저장합니다. 그러나 로그인해야하므로 다음과 같은 인수와 함께 --data를 사용해야 curl -X --data "var1=1&var2=2" www.target-url.com/login.php -c cookie.txt합니다. loggued 쿠키를 받으면 다음과 같이 보낼 수 있습니다.
curl www.target-url.com/?user-page.php -b cookie.txt
저장하고 보내려면 -c (-cookie) 또는 -b (-cookie-jar)를 사용하십시오.
참고 1 : cURL CLI를 사용하는 것은 PHP보다 훨씬 쉽고 빠릅니다.)
최종 내용을 저장하려면 > filename.htmlcURL 명령에 쉽게 추가 한 다음 전체 HTML 코드를 저장할 수 있습니다 .
"full"에 대한 참고 2 : cURL을 사용하여 자바 스크립트를 렌더링 할 수 없으며 소스 코드 만 가져 오십시오.
-X매개 변수는 "do post"를 나타내지 만 사용 --data=xxx -X은 암시 적이므로 반드시 제거 할 수 있습니다.
-b입니다read cookie
이 질문에 여전히 관심이있는 사람들에게는 CurlWGet 이라는 매우 유용한 Chrome 확장 프로그램 이 있습니다.이 확장 프로그램은 한 번의 클릭으로 인증 수단 등으로 wget/ curl요청 을 생성 할 수 있습니다 . 이 확장을 설치하려면 아래 단계를 수행하십시오.
즐겨!
Firefox 쿠키가있는 Wget 블로그 는 Firefox가 쿠키를 저장하는 sqlite 데이터 파일에 액세스하는 방법을 보여줍니다. 그렇게하면 wget과 함께 사용하기 위해 쿠키를 수동으로 내보낼 필요가 없습니다. 의견에 따르면 세션 쿠키에서는 작동하지 않지만 시도한 사이트에서는 제대로 작동합니다.
이것을 시도 했습니까?
wget --user=username --password=password http://en.wikipedia.org/wiki/User:A
다음과 같은 것을 시도하십시오 :
wget --keep-session-cookies --save-cookies cookies.txt --post-data 'user=goyamy&passwrd=mypassword' http://forum.ubuntu-it.org/
이 링크도 참조하십시오 :
> filename.html현재 디렉토리에 출력을 저장하거나 전체 파일 경로를 넣어. 이것은 Linux 및 Windows 시스템 모두에 적용됩니다.
보다 복잡한 웹 사이트 기반 로그인 의 경우 또는 대신 http://wwwsearch.sourceforge.net/mechanize/ 와 같이 브라우저를 모방하는 Python 스크립트 및 일부 모듈을 사용해야합니다 .curlwget
이렇게하면 세션 쿠키가 자동으로 처리되고 링크를 따라 가고 로그인 양식을 채울 수 있으므로 웹 브라우저를 사용하는 것처럼 로그인 프로세스를 통해 "스크립트"를 작성할 수 있습니다.