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


+ Recent posts