Skip to content

Commit 4f3c036

Browse files
add hint for using RSelenium
1 parent 97a5e47 commit 4f3c036

File tree

3 files changed

+47
-6
lines changed

3 files changed

+47
-6
lines changed

Chapter05.R

+5-1
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,12 @@ merosu <- Ngram("data/merosu.txt", type = 2, N = 2)
164164

165165
merosu %>% head()
166166

167-
167+
library(tidyverse)
168+
library(RMeCab)
168169
### 5.6.4 汎用的なdocDF()
170+
merosu <- docDF("data/merosu.txt", type = 0, N = 2, nDF = 1)
171+
merosu %>% View()
172+
merosu %>% tail()
169173
merosu <- docDF("data/merosu.txt", type = 1, pos = c("名詞","形容詞"), N = 2, nDF = 1)
170174
merosu %>% head()
171175

Chapter06.R

+14-5
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,23 @@ setwd("/home/ishida/Dropbox/R/Morikita/Version2/")# など
1616
# library(rvest)
1717

1818
### 2017年4月にサイト構造が大きく変ったため、以下のコードではテキストを抽出できません
19-
### サイトからテキストを抽出し、テキストマイニングのデータとする手順として参考にしてください
20-
### 抽出し、形態素解析を実行した結果のファイルを revicsv, bigram.csv として用意しています
19+
### Rselenium を利用することで抽出は可能であり、別ファイル use_Rseleium.R にその方法の概要を公開していますが
20+
## 「読書メータ」様の方でこのような利用を許可していない可能性があります。
21+
22+
### そこで、以下のコードは、WEBサイトからテキストを抽出し、テキストマイニングのデータとする手順として参考にしてください
23+
### なお、形態素解析を実行した結果のファイルを revi.csv, bigram.csv として用意していますので
24+
### 形態素解析後の手順(45行目以降)は再現可能です
25+
2126

2227
# jobs <- read_html("http://bookmeter.com/b/4062180731")
2328

24-
library(dplyr)
29+
# library(dplyr)
2530
# reviews <- jobs %>% html_nodes("div[id^='review_text_']") %>% html_text()
2631

27-
library(magrittr)
32+
# library(magrittr)
2833
# reviews %>% extract(1)
2934

30-
library(RMeCab)
35+
# library(RMeCab)
3136
# reviews %>% extract2(1) %>% RMeCabC() %>% unlist()
3237

3338
## writeLines(reviews, "data/reviews.txt")
@@ -36,6 +41,8 @@ library(RMeCab)
3641
# revi %>% NROW()
3742

3843

44+
45+
## 形態素解析済みのファイルを読み込みます
3946
revi <- read.csv("data/revi.csv", stringsAsFactors = FALSE)
4047

4148
revi %>% head ()
@@ -57,8 +64,10 @@ revi2 %>% arrange(reviews.txt) %>% tail(30)
5764
#bigram <- docDF("data/reviews.txt", type = 1, nDF = 1, N = 2,
5865
# pos = c("名詞","形容詞","動詞"))
5966
#
67+
6068
#write.csv(bigram, file = "data/bigram.csv", row.names = FALSE, quote = FALSE, fileEncoding = "UTF-8")
6169

70+
## 解析済みのバイグラムファイルを読み込みます
6271
bigram <- read.csv("data/bigram.csv", stringsAsFactors = FALSE)
6372

6473

use_Rselenium.R

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
install.packages("RSelenium")
2+
3+
# use installed selenium-server
4+
## check your directory
5+
# cd .local/share/binman_seleniumserver/generic/4.0.0-alpha-2/
6+
# java -jar selenium-server-standalone-4.0.0-alpha-2.jar
7+
8+
library(RSelenium)
9+
# Start Selenium Session
10+
remDr <- remoteDriver(
11+
remoteServerAddr = "localhost",
12+
port = 4444L,
13+
browserName = "firefox"
14+
)
15+
remDr$open()
16+
17+
remDr$navigate(url = "https://bookmeter.com/books/5550353")
18+
19+
remDr$navigate("https://books.toscrape.com/catalogue/category/books/science-fiction_16")
20+
21+
# reviews <- remDr$findElements(using = "css", "html body.layouts.application section.books.show div.bm-wrapper div.bm-wrapper__main section.layouts.components.content-with-header div.content-with-header__content section")
22+
reviews <- remDr$findElements(using = "class", "frame__content__text")
23+
24+
texts <- unlist(lapply(reviews, function(x){x$getElementText()}))
25+
26+
texts
27+
28+
remDr$close()

0 commit comments

Comments
 (0)