파이썬으로 웹을 크롤링 하기 위한 필수 라이브러리 중 하나인 BeautifulSoup을 먼저 설치합니다
명령어 : pip install bs4
일단 크롤링 할 주소는 밑과 같습니다.
http://job.incruit.com/jobdb_list/searchjob.asp?ct=1&ty=1&cd=150&page=
이클립스를 열고
[File] -> [new] -> [PyDev Project] 순서로 눌러서 프로젝트를 만듭니다 프로젝트 이름은 17PythonCrawling
crawling.zip 이 파일의 압축을 풀고 17PythonCrawling 프로젝트의 src 폴더에 crawling패키지를 붙여넣기 합니다
붙여넣기 한 결과 사진
TestCrawling.py 를 실행 합니다 그러면 콘솔에 숫자가 1부터 56까지 출력 되며 마지막으로 done Good~~이 나올 것 입니다.
프로젝트를 마우스로 우클릭 하고 Refresh 버튼을 눌러 새로고침 합니다.
그러면 사진과 같이 helloCrawling.csv 파일이 나타나는데 마우스 좌클릭 2번을 해서 열면 됩니다.
안에 담긴 텍스트 내용들을 복사합니다.
c드라이브에 crawling 폴더를 만들고 폴더 안에 메모장을 하나 생성해서 복사한 내용을 붙여넣기 한 다음 저장 합니다.
인코딩은 ANSI로 해야 합니다. UTF-8로 인코딩 해서 저장하면 글자가 깨지게 됩니다
crawlingFolder.zip
이 파일은 위 사진에 있는 crawling 폴더를 압축해서 올린 것 입니다.
RGui를 실행 한다음 상단에 있는 [File] -> [새스크립트] 를 만드시고 밑의 코드롤 복사해서 새 스크립트에 붙여넣습니다.
setwd("c:\\crawling")
install.packages("KoNLP")
install.packages("wordcloud")
library(KoNLP)
library(wordcloud)
data1 <- readLines("crawling.txt")
data1
data2 <- sapply(data1,extractNoun,USE.NAMES=F)
data2
# 데이터 중에서 불필요한 (원하지 않는) 단어를 걸러내는 작업 ==> 가장 중요한 작업
data3 <- unlist(data2)
data3 <- gsub("채","",data3)
# 제거할 내용이 많으면 제거할 단어나 부호를 별도의 파일로 만들어
# for 루프문을 이용하여 제거할 수 있다.
txt <- readLines("gsubfile.txt")
txt
cnt_txt <- length(txt)
cnt_txt
for(i in 1:cnt_txt)(
data3 <- gsub((txt[i]),"",data3)
)
# 빈 공백없앤후 다른 화일로 저장
write(unlist(data3),"crawling.txt")
data4 <- read.table("crawling.txt") # 출현횟수 카운트한 단어 테이블 형성
data4
wordcount <- table(data4)
head(sort(wordcount,decreasing=T),20)
data4
library(RColorBrewer)
palete <- brewer.pal(9,"Set3")
wordcloud(names(wordcount),freq=wordcount,scale=c(5,1),rot.per=0.25,min.freq=1,random.order=F,random.color=T,colors=palete)
legend(0.3,1,"크롤링한것 분석",cex=0.8,fill=NA,border=NA,bg="white", text.col="red", text.font=2,box.col="red")
############
useSejongDic() # 세종 한글 단어 사전을 이용하겠다.
# 필요하면 사용자 사전을 등록한다.
# 새로운 단어를 등록- 다음부터는 mergeUserDic() 대신 buidDiction
mergeUserDic(data.frame(readLines("dic_user.txt"),"ncn"))
mergeUserDic(data.frame("이정하","ncn"))
밑의 동영상은 코드를 실행한 결과 입니다.
첫댓글 정리를 잘했습니다.^^