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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | install.packages("rvest") library(stringr) library(rvest) library(KoNLP) url = "https://movie.daum.net/moviedb/grade?movieId=111292&type=netizen&page=1" txt = read_html(url) str(txt) review = html_nodes(txt, ".desc_review") review2 = html_nodes(txt, ".txt_menu") review = html_text(review) review2 = html_text(review2) review review2 str_trim(review) str_trim(review2) #페이지 주소 바꾸기 url = "https://movie.daum.net/moviedb/grade?movieId=111292&type=netizen&page=" htmlTxt = vector() allReviews = c() for(page in 1:24){ url2 = paste(url,page, sep="") htmlTxt = read_html(url2) review = html_nodes(htmlTxt, ".desc_review") reviews = html_text(review) allReviews = c(allReviews,reviews) print(page) } allReviews allReviews = str_trim(allReviews) allReviews write.table(allReviews, "review.txt") ########### naver. ############## allReviews = c() url = "https://movie.naver.com/movie/point/af/list.nhn?st=mcode&sword=161967&target=before&page=" for(page in 1:40){ url2 = paste(url, page, sep="") print(url2) htmlTxt = read_html(url2, encoding = "cp949") #인코딩 중요 review = html_nodes(htmlTxt, " .title") #만일 class = "title"이 한 문서내 여러곳에 있을경우. #review = html_nodes(htmlTxt,".list_netizen b_star") #review = html_nodes(review , " .title") reviews = html_text(review) allReviews = c(allReviews,reviews) print(page) } allReviews write.table(allReviews, "review2.txt") #네이버, 다음 포털사이트에서 특정 단어를 검색한 후, 지식인에 글을 추출. #html_nodes(htmlTxt,"a") #.은 클래스 그냥 a는 태그명. #백과사전 사이트 url = "https://namu.wiki/w/%EA%B8%B0%EC%83%9D%EC%B6%A9" htmlTxt = read_html(url) content = html_nodes(htmlTxt, ".wiki-heading-content") content = html_text(content) class(content) extractNoun(content) useSejongDic() #extractnoun 할때 사용할 사전. unlist(extractNoun(content)) text = sapply(content, extractNoun, USE.NAMES = F) #기존의 이름을 컬럼명으로 쓰지 않는다. text = unlist(text) #2글자 이상만 단어로 인정. text = Filter(function(x){ nchar(x) >= 2 }, text) text #Filter의 결과가 참인것만 남았다. text = gsub("\\d+","",text) #d = 숫자 data = table(text) #각 단어별 빈도수 write.csv(data, "기생충.csv") | cs |
'딥러닝 모델 설계 > R STUDIO' 카테고리의 다른 글
네이버, 다음 영화 댓글 분석 참고저장 (0) | 2019.05.29 |
---|---|
k-means clustering example with R studio and wine data (0) | 2019.05.28 |
k-means clustering example with R studio and iris data (0) | 2019.05.28 |
감정 분석 기초 (0) | 2019.05.28 |
난수, 시간측정, 그룹화 및 요약, 피봇팅, colSums, which.max (0) | 2019.05.28 |