2009-12-14 1 views
1

나는 루비 사용 성인 웹 사이트에서 웹 페이지의 무리를 구문 분석하려고 해요 :성인 사이트에서 웹 페이지를 가져 오는 것 - 사이트 계약을 통과하는 방법?

 
require 'hpricot' 
require 'open-uri' 

doc = Hpricot(open('random page on an adult website')) 

을하지만, 내가 대신지고 결국 어떤 초기 '사이트 계약'페이지는 걸 확인하는 것입니다 18 + 등

사이트 동의서를 통과하고 원하는 웹 페이지를 가져 오려면 어떻게해야합니까? (할 수있는 방법이 있다면 어떤 언어로도 괜찮습니다.)

+3

이와 같은 사이트의 서비스 약관을 우회하는 것은 귀하의 관할권에서 불법 일 수 있으며 많은 갤러리 사이트는 자동 스크래핑을 매우 희미하게 인식한다는 것을 알고 있어야합니다. –

+3

자신 만의 포르노 영화를 만들어보세요! –

+0

@ Josh : 정확히 그가하려는 일이 아닌가요? – Telemachus

답변

3

사이트에서 방문자가 계약에 동의했다고 감지하는 방법을 알아야합니다.

가장 확실한 선택은 쿠키입니다. 방문자가 계약을 수락하면 쿠키가 브라우저로 전송 된 다음 모든 후속 요청에서 사이트로 전달됩니다.

쿠키를 수락하고 이후의 모든 요청과 함께 보내면 방문자와 같이 행동하도록 스크립트를 만들어야합니다. 이렇게하려면 "동의 함"페이지를 먼저 요청하고 쿠키를 찾아서 사용하기 위해 파트를 프로그래밍해야합니다. 계약서에 특정 쿠키를 사용하지 않고 세션에 저장하는 경우가 있습니다.이 경우 세션 쿠키를 찾아야합니다.

0

'사이트 계약'페이지에는 클릭하거나 제출해야하는 링크가 있으므로 계속 진행하려면 서버로 다시 보내야합니다. 해당 페이지의 출처를 확인하십시오. 해당 응답을 응용 프로그램에서 다시 보낼 수 있습니다. 루비에서 어떻게 해야할지 모르지만, cURL과 libcurl을 사용하여 비슷한 작업을 한 적이 있습니다. 아마도 Ruby에서 사용할 수 있습니다.

0

Firefox 용 LiveHTTPHeaders 플러그인을 설치하고이 사이트를 방문하십시오. 헤더를보고 계약에 동의하면 어떤 일이 일어나는 지보십시오. 아마도 브라우저가 요청 (아마도 Post)을 보내고 쿠키를 수락하는 것을 보게 될 것입니다. 그런 다음 Ruby 스크립트에서 브라우저가 수행하는 작업을 반복해야합니다.

관련 문제