반응형

이번에는 티스토리에 로그인하여 댓글을 확인하는 프로그램을 만들어보고자 한다.

 

티스로티 관리 페이지 주소는 http://블로그주소/admin/center  로 로그인하지 않은 상황에서 관리 페이지에 접속하면 아래와 같다.

 

여기에서 소스 분석을 하기 위해 개발자 도구를 열어보자. (F12 누르자)

아래와 같이 나오는데 아이디 입력창을 찍어보면 input name = loginId가 나온다. 이런 방식으로 찾아보자.

 

 

 

. form 태그의 ID는 authForm

. 아이디 입력 창의 name은 loginId

. 비밀번호 입력창의 name은 password

 

CasperJS에는 Form 태그에 값을 입력해서 전송할 수 있는 fill() 인터페이스가 있다.

 

Casper.fill(css 선택자, 값 객체, [, Submit 여부])

. CSS 선택자 : Form의 CSS 선택자

. 값 객체 : name과 value 속성 지정

. Submit 여부 : true일 경우, 전송까지 수행

 

그러면 티스토리에서는 어떻게 써야할까?

 

Casper.fill ("#authForm", {loginid: "ID"}, password:"password"}, true);

 

참 Comment를 가져오기 위해 evaluate() 메소드를 만들었는데 이것도 살펴보자.

 

casper.evaluate(함수[, 파라미터,[, 파라미터[, ..]]])

 

. 함수 : 페이지 내에서 수행하고 싶은 자바스크립트 함수 객체

. 파라미터 : 함수에 넘기고 싶은 파라미터

 

자 이렇게 만든 것을 한번 전체 소스를 봐보자...

 

소스 다운로드 : login.js

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
var casper = require('casper').create({verbose: true, logLevel: "debug"});
 
// URL 및 로그인 정보 변수
var url = "http://nickoo.tistory.com/admin/center/";
var id = "";
var password = "";
 
casper.start();
 
casper.open(url);
 
// 아이디와 비밀번호 입력
casper.then(function() {
   casper.fill( "#authForm"
    { 
      loginId: id, 
      password:password
    }, true);
});
 
casper.then(function(){
    var getComment = function(){
      return document.querySelector("#blogInfo > ul > li:nth-child(3) > span.day").innerText;
    };
 
    // 결과 로그로 출력 
    console.log("새 댓글 수 : " + this.evaluate(getComment));
});
 
casper.then(function(){        
    var getGuestBook = function(){                
      return document.querySelector("#blogInfo > ul > li:nth-child(5) > span.day").innerText;
    };
    console.log("새 방명록 수 : " + this.evaluate(getGuestBook));
});
 
casper.run();
cs

 

 

결과 :

 

 

 

왜 이런 결과가 나오냐....후우...새 댓글과 새 방명록이 없기 때문이다....방문자수가 일 평균 60명이지만...단 한명도 댓글을 달지 않고 눈팅만 하고 간다는 건데...ㅜㅜ

아무래도 블로그 품질이 저하거나 볼품없어서 그런거 같다...

반응형

'프로그래밍 > Node.js' 카테고리의 다른 글

CasperJS 화면 캡쳐 프로그램  (0) 2017.04.08
웹사이트 제목 표시하는 소스코드  (0) 2017.04.08
CasperJS 설치  (0) 2017.04.07
PhantomJS 설치  (0) 2017.04.07
XML/RSS 파싱에 cheerio-httpcli 이용  (0) 2017.04.06

+ Recent posts