teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

すべて

2020/02/21 07:54

投稿

Nero1129
Nero1129

スコア130

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,22 @@
1
+ 時間がなく、焦って質問したため語弊があったので全体的に変更します。
2
+
1
3
  ### 前提・実現したいこと
2
- スクレイピングでタグごとにHTMLを抽出したいです。
4
+ スクレイピングで本文のみを抽出したい
5
+
6
+ ### 使用するパッケージ
7
+ - requests
8
+ - Beautiful Soup
9
+ - ExtractContent // 本文抽出用のパッケージ
10
+
11
+ ### 手順
12
+ 1. requests で要求したサイトにアクセス
13
+ 2. Beautiful Soupでページ内のHTMLを取得 // ここまでは容易
3
- 下記のようなHTMLget_text()スクレイピングすると、すべて改行されて抽出され意味がありません
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
- また、1サイトだけであれば手動で行えばいいすが、大規模に処理行いたいのでできる限り自動でさせたいす。
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
+ 再帰的にタグごとに改行を削除する方法を知りたいです。