質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

解決済

2回答

701閲覧

タグも含めてスクレイピングしたい、サイトの<hr>タグで文章を分割したい

oika77

総合スコア184

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

0クリップ

投稿2022/01/10 07:39

今回やりたいことが、サイトにある文章を<hr>ごとに文章を分割して保存したいです。そこで、スクレイピングで<hr>も含めて取得して、<hr>をフラグとして分割しようかと考えています。
ただ、現在のコードではタグは全て削除されてしまいます。タグも削除されたないようにするにはどうしたら良いでしょうか。
また、このやり方以外にもっといい方法がありましたら、教えてください。

現在作成したコードが以下です。

R

1コード 2data <- read_html("https://path/test.html") 3x_n <-html_nodes(data,"blockquote") %>% 4 html_text()

サイトは以下のようになっています。

HTML

1コード 2<blockquote> 3文章.文章.文章.文章. 4文章.文章.文章.文章. 5 6<hr> 7文章.文章.文章.文章. 8文章.文章.文章.文章. 9 10<hr> 11文章.文章.文章.文章. 12文章.文章.文章.文章. 13 14</blockquote> 15

今作成したコードだと取得結果はタグが全て消えてしまいます。

取得結果 文章.文章.文章.文章. 文章.文章.文章.文章. 文章.文章.文章.文章. 文章.文章.文章.文章. 文章.文章.文章.文章. 文章.文章.文章.文章.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

stringr::str_split を使うと以下の様になります。

r

1library(rvest) 2library(stringr) 3 4data <- read_html("https://path/test.html") 5x_n <- data %>% 6 html_nodes("blockquote") %>% 7 as.character() %>% 8 str_split("(<hr>|</?blockquote>)\n*") %>% 9 unlist() %>% .[-c(1, length(.))] 10x_n 11 12# 13[1] "文章.文章.文章.文章.\n文章.文章.文章.文章.\n\n" 14[2] "文章.文章.文章.文章.\n文章.文章.文章.文章.\n\n" 15[3] "文章.文章.文章.文章.\n文章.文章.文章.文章.\n\n"

投稿2022/01/10 14:07

melian

総合スコア19865

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

oika77

2022/01/10 15:25

ありがとうございます。このスクリプトを参考にさせていただき、上手くいきました。
guest

0

html_text()の代わりにstrsplit("<hr>")でできませんか?

投稿2022/01/10 07:52

KojiDoi

総合スコア13671

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

oika77

2022/01/10 15:26

ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問