質問編集履歴
1
すべて
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,22 @@
|
|
1
|
+
時間がなく、焦って質問したため語弊があったので全体的に変更します。
|
2
|
+
|
1
3
|
### 前提・実現したいこと
|
2
|
-
スクレイピングで
|
4
|
+
スクレイピングで本文のみを抽出したい
|
5
|
+
|
6
|
+
### 使用するパッケージ
|
7
|
+
- requests
|
8
|
+
- Beautiful Soup
|
9
|
+
- ExtractContent // 本文抽出用のパッケージ
|
10
|
+
|
11
|
+
### 手順
|
12
|
+
1. requests で要求したサイトにアクセス
|
13
|
+
2. Beautiful Soupでページ内のHTMLを取得 // ここまでは容易
|
3
|
-
|
14
|
+
3. ExtractContentで本文を抽出 // ここで下手げに改行されたテキストが出力されるので、改行を消したい。
|
15
|
+
|
16
|
+
### 問題点
|
17
|
+
1. 手順2.の後、str型に変更。
|
18
|
+
replace("\n", "")などで改行を消してから、手順3.ExtractContentに通すと、隣り合うpタグ同士が改行されず、1つの文章として出力されてしまうので、これを解消したい。(ここの質問の仕方が間違っていて語弊が生まれた模様。大変申し訳ありませんでした。)
|
19
|
+
|
4
20
|
```HTML
|
5
21
|
<p>
|
6
22
|
いつもありがとうございます。
|
@@ -8,17 +24,27 @@
|
|
8
24
|
きました。3週間くらい持つようになって来ました。
|
9
25
|
また来月もよろしくお願いします。
|
10
26
|
</p>
|
27
|
+
<p>
|
28
|
+
いつもありがとうございます。
|
29
|
+
かなり慣れてきて、痛みを感じにくくなって
|
30
|
+
きました。3週間くらい持つようになって来ました。
|
31
|
+
また来月もよろしくお願いします。
|
32
|
+
</p>
|
11
33
|
```
|
12
34
|
|
13
|
-
|
35
|
+
```
|
14
|
-
|
36
|
+
いつもありがとうございます。かなり慣れてきて、痛みを感じにくくなってきました。3週間くらい持つようになって来ました。また来月もよろしくお願いします。いつもありがとうございます。かなり慣れてきて、痛みを感じにくくなってきました。3週間くらい持つようになって来ました。また来月もよろしくお願いします。
|
37
|
+
```
|
15
38
|
|
39
|
+
こうではなく。。。
|
40
|
+
```
|
41
|
+
いつもありがとうございます。かなり慣れてきて、痛みを感じにくくなってきました。3週間くらい持つようになって来ました。また来月もよろしくお願いします。
|
42
|
+
いつもありがとうございます。かなり慣れてきて、痛みを感じにくくなってきました。3週間くらい持つようになって来ました。また来月もよろしくお願いします。
|
43
|
+
```
|
16
|
-
|
44
|
+
として抽出したい。
|
17
|
-
- 正規表現による改行、タブなどの除去を試みたのですが、すべての文字列が繋がってしまい意味がありませんでした。
|
18
|
-
- 1行ごとに行おうとしましたが、そもそも入れ子構造のHTMLなのでどのように行えばいいのかがわかりませんでした。
|
19
45
|
|
20
|
-
#### できたらいいなっていう草案
|
21
|
-
1. 1度HTMLを取得し、正規表現ですべての改行などを削除
|
22
|
-
2. もう一度、Beautiful Soupに通してテキストのみを抽出
|
23
46
|
|
47
|
+
### やりたいこと。
|
24
|
-
|
48
|
+
手順2の時点で、同じタグ内だけであれば改行を消したいです。
|
49
|
+
そうすれば、ExtractContentできれいな本文が抽出できると予想。
|
50
|
+
再帰的にタグごとに改行を削除する方法を知りたいです。
|