이번에는 Scrapy를 이용해서 http://www.jobkorea.co.kr (취업 사이트인 "잡코리아")
에서 현재 공채모집중인 기업의 정보에 대해 데이터를 모아보겠습니다.
목차
1. Scrapy 다운로드
2. Scrapy 프로젝트 생성
3. 사이트의 패턴분석
4. 데이터의 모델(아이템) 만들기
5. Spider 파일 만들기
6. PipeLine만들기
7.실행 & 결과
1. Scrapy 다운로드
(!주의 이미 Python이 설치 되있어야 합니다. 저는 현재 Python 2.7버전을 사용중입니다.)
command에 "pip install scrapy"를 입력함으로써 설치가 완료됩니다.
2. Scrapy 프로젝트 생성
새로운 프로젝트를 생성하기 위해 아래와 같은 명령어를 사용해서 파일을 생성합니다.
scrapy startproject companycrawler
"compaycrawler" 폴더가 만들어지고 아래의 기본 파일들이 있습니다.
자세한 파일 사용법들은 다음에 만들면서 설명하겠습니다.
3. 사이트 패턴 분석
먼저 사이트의 URL을 분석해야합니다.
저는 수집할 데이터의 직무에 "IT인터넷"만 검색하도록 선택하였습니다.
중요한 부분은 2개입니다. (물론 다른 조건을 선택하면 위 url이 바뀝니다)
sschPart=10016 : IT인터넷 조건으로 선택한 번호
Page=1 : 페이지의 번호를 의미
그 다음 정보의 패턴를 찾습니다.
제가 모으고 싶은 정보는 아래와 같이 기업이름과 모집 제목입니다.
위와 같이 기업이름, 제목이 페이지별로 쭉 나열되어 있습니다.
이러한 패턴을 F12눌러서 "컴X스"를 찾아보시면
검색했을 때 html코드를 보실 수 있는데, 여기서부터 조금 어려울 수 있습니다...
"컴ㅌ스"의 기업 이름을 찾기위해선
css와 xpath을 사용할 수 있습니다.
이번에는 xpath를 사용해보겠습니다.
xpath사용법을 잘 모르시는 분은 아래의 사이트를 참고해주시길 바랍니다.
(css를 알고있으면 사용하시고, 둘 다 어려우실 경우 건너띄워도 됩니다. 나중에 차근차근 하시길.)
영문 정식 튜토리얼
한글 정리된 블로그
4. 모델(아이템) 만들기
필요한 정보의 아이템을 만들겠습니다.
C로 생각하시면 structure, c++,Java로 치면 class와 비슷하다고 보시면 됩니다.
companycrawler 폴더 아래 items.py 파일을 열고 아래와 같이 작성합니다.
import scrapy
from scrapy.item import Item, Field
class CompanycrawlerItem(scrapy.Item):
company=scrapy.Field()
title=scrapy.Field()
|
cs |
company : 기업의 이름
title : 공채 채용의 제목
이제 item까지 완성했습니다.
다음시간에는 메인이 되는 Spider 파일을 만들겠습니다.
참고
http://uslifelog.tistory.com/45
http://excelsior-cjh.tistory.com/86
'프로그래밍 > Python' 카테고리의 다른 글
(Python) django로 홈페이지 제작 - 1 (0) | 2018.12.02 |
---|---|
(파이썬) Scrapy를 이용한 웹 데이터 크롤러(Crawler) 만들기 -2 (0) | 2018.12.01 |
(파이썬Python) Scrapy VS BeautifulSoup (웹 크롤링 패키지) (0) | 2018.12.01 |
(파이썬Python) no module named win32api 오류 (0) | 2018.12.01 |
Python(파이썬) konlpy의 워드클라우드 불필요한 명사 제거(원리만) (0) | 2018.12.01 |