커스텀 크롤러 예시 #
1. 파싱할 사이트 설정 #
예시로는 클리앙 유용한사이트 게시판을 사용하겠습니다.
https://www.clien.net/service/board/useful
2. 페이지 이동 및 목록 URL 입력 #
게시판 하단의 페이지 이동 기능을 이용해 3페이지로 이동합니다.
URL을 확인하면 아래와 같이 페이지 번호가 따라 코드가 따라 붙습니다.
https://www.clien.net/service/board/useful?&od=T31&category=0&po=2
해당 숫자를 변수 [[page]] 로 대체하여 “목록 URL” 에 입력 합니다.
https://www.clien.net/service/board/useful?&od=T31&category=0&po=[[page]]
3. 각 게시글 a태그(링크) 선택 #
목록 화면의 글 제목 에서 마우스 우클릭 후 “검사” 버튼을 클릭합니다.
개발자도구의 “요소(Elements)” 탭에서 목록의 각 게시글 a태그(링크)의 선택자를 확인할 수 있습니다.
a태그(링크) 클래스명 list_subject
로 되어 있는 것을 확인할 수 있습니다.
.list_subject
또는 상위 요소 포함
.list_title a.list_subject
등 여러형식으로 추출 가능 합니다.
“[목록] 제목 a 태그” 입력란에 입력합니다.
4. 게시글 제목 선택 #
게시글 화면에서 제목을 추출 하는 단계입니다.
해당 게시글 진입 후, 제목에서 마우스 우 클릭 후 “검사” 버튼을 클릭하여 “개발자 도구"를 실행해 줍니다.
게시글 제목에 사용된 선택자가 post_subject 라는 클래스명의 H3 태그안의 SPAN 태그로 감싸져 있는 것을 확인할 수 있습니다.
h3.post_subject span 게시글 제목 선택자를 “[게시글] 제목” 에 입력해 주세요.
5. 게시글 내용 선택 #
게시글 내용 요소 중 일부분에 마우스 우클릭 하여 “검사” 버튼을 선택하여 “개발자 도구” 를 실행해 줍니다.
article 태그 안에 post_article 클래스명을 가진 태그로 감싸져 있다는 것을 확인할 수 있습니다.
article .post_article 게시글 내용 선택자를 “[게시글] 본문” 에 등록해 주세요.
6. 테스트 #
“테스트” 버튼을 클릭하여 테스트를 진행해 줍니다.
테스틀 결과에서 본문 내용에 html태그로 시작되어 프레임으로 한번 더 감싸져 있다는 것을 알 수 있습니다. 프레임 내부 body 태그 다음부터 내용이 시작하기 때문에 뒤에 하위 요소로 body를 추가해줍니다.
article .post_article body “[게시글] 본문” 을 수정 후 다시 “테스트” 버튼을 클릭해 테스트를 진행 해줍니다.
게시글 내용까지 정상적으로 수집되는 것을 확인하였습니다.
7. 등록 #
“추가” 버튼을 클릭하여 커스텀 크롤러 등록을 완료 합니다.
등록을 설정한 게시판에 아래와 같이 크롤링 해온 게시글들이 보이는 것을 보실 수 있습니다.