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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Beautiful Soup

Beautiful Soupは、Pythonのライブラリの一つ。スクレイピングに特化しています。HTMLデータの構文の解析を行うために、HTMLタグ/CSSのセレクタで抽出する部分を指定することが可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

解決済

1回答

1247閲覧

Beautiful Soupを使ってのスクレイピングですべてのテキストを改行したい

good_morning

総合スコア61

Beautiful Soup

Beautiful Soupは、Pythonのライブラリの一つ。スクレイピングに特化しています。HTMLデータの構文の解析を行うために、HTMLタグ/CSSのセレクタで抽出する部分を指定することが可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

0グッド

0クリップ

投稿2020/06/01 06:26

編集2020/06/01 06:27

次のurlを参考にして、Beautiful Soupを使ってのWebサイトスクレイピングをしています。
https://qiita.com/poorko/items/9140c75415d748633a10

日経新聞をスクレイピングしたところ、ほとんどの記事が1行になってしまいます。すべてのテキストを改行したいと思っています。

例えば、次の1記事のソースコードがあります。

HTML

1<div class="k-card k-card--small k-card--reverse" data-rn-track="DGXMZO5980853001062020000000" data-rn-track-value="{&quot;order&quot;:2,&quot;title&quot;:&quot;米、黒人暴行死で州兵5000人 ワシントン夜間外出禁止&quot;,&quot;title2&quot;:&quot;&quot;,&quot;pattern_id&quot;:&quot;DGXMZO5980853001062020000000-202006010313338-top&quot;,&quot;kiji_id_raw&quot;:&quot;DGXMZO5980853001062020000000&quot;}" data-rn-track-category="h3" data-rn-inview-track="DGXMZO5980853001062020000000" data-rn-inview-track-value="{&quot;order&quot;:2,&quot;title&quot;:&quot;米、黒人暴行死で州兵5000人 ワシントン夜間外出禁止&quot;,&quot;title2&quot;:&quot;&quot;,&quot;pattern_id&quot;:&quot;DGXMZO5980853001062020000000-202006010313338-top&quot;,&quot;kiji_id_raw&quot;:&quot;DGXMZO5980853001062020000000&quot;}"><a class="k-card__block-link" href="/article/DGXMZO59808530R00C20A6000000" tabIndex="-1"><span class="k-v">米、黒人暴行死で州兵5000人 ワシントン夜間外出禁止</span></a><div class="k-card__content"><a class="k-card__image" href="/article/DGXMZO59808530R00C20A6000000"><div class="k-picture" style="padding-bottom: 62.5%;"><picture class="k-picture__content"><source srcset="https://article-image-ix.nikkei.com/https%3A%2F%2Fimgix-proxy.n8s.jp%2FDSXMZO5981239001062020000001-KB2-3.jpg?w=300&amp;h=187&amp;auto=format%2Ccompress&amp;ch=Width%2CDPR&amp;q=20&amp;fit=crop&amp;bg=FFFFFF&amp;ixlib=js-1.4.1&amp;s=b49e1a2231212d78afaf7093fd1f4c84" media="(min-width: 992px)" /><source srcset="https://article-image-ix.nikkei.com/https%3A%2F%2Fimgix-proxy.n8s.jp%2FDSXMZO5981239001062020000001-KB2-3.jpg?w=150&amp;h=93&amp;auto=format%2Ccompress&amp;ch=Width%2CDPR&amp;q=0&amp;fit=crop&amp;bg=FFFFFF&amp;ixlib=js-1.4.1&amp;s=9ec5a95d95b5bbd57b1e48f058dedbbb" media="(min-width: 752px)" /><source srcset="https://article-image-ix.nikkei.com/https%3A%2F%2Fimgix-proxy.n8s.jp%2FDSXMZO5981239001062020000001-KB2-3.jpg?w=250&amp;h=156&amp;auto=format%2Ccompress&amp;ch=Width%2CDPR&amp;q=20&amp;fit=crop&amp;bg=FFFFFF&amp;ixlib=js-1.4.1&amp;s=9ffc28ff8ee11af2958d4d3165ca13d2" media="(min-width: 0px)" /><img class="k-picture__img" src="https://article-image-ix.nikkei.com/https%3A%2F%2Fimgix-proxy.n8s.jp%2FDSXMZO5981239001062020000001-KB2-3.jpg?w=300&amp;h=187&amp;auto=format%2Ccompress&amp;ch=Width%2CDPR&amp;q=20&amp;fit=crop&amp;bg=FFFFFF&amp;ixlib=js-1.4.1&amp;s=b49e1a2231212d78afaf7093fd1f4c84" alt="ホワイトハウスの近くで続く抗議デモ(5月31日、米首都ワシントン)=AP" title="ホワイトハウスの近くで続く抗議デモ(5月31日、米首都ワシントン)=AP" /></picture><span class="k-picture__credit">AP</span></div></a><div class="k-card__text"><h2 class="k-card__title small"><a class="k-card__title-link" href="/article/DGXMZO59808530R00C20A6000000"><div><span class="k-card__title-piece">米、黒人暴行死で州兵5000人</span><span class="k-card__title-piece k-card__title-piece--block">ワシントン夜間外出禁止</span></div></a></h2><ul class="k-card__meta"><li class="k-card__tag"><a href="/theme?dw=17090322">トランプ政権</a><a href="/international/america/">北米</a></li><li class="k-card__icon"><i class="k-icon" style="background-image: url(https://r.nikkei.com/api/svg/v1/k-video.rev-307033.svg?stroke=%23979797&amp;fill=%23979797); width: 16px; height: 16px; min-width: 16px;"></i></li></ul></div></div><div class="k-card__excerpt k-card__excerpt--short"><p>【ワシントン=中村亮】白人警官の暴行による黒人死亡事件への抗議デモが全米に広がっていることを巡り、国防総省州兵総局は5月31日、15州と首都ワシントンのあるコロンビア特別区が同日午前時点で州兵(ナショナルガード)を動員したと明らかにした。合計で約5千人にのぼり、必要に応じて2千人が追加されると説明した。</p><p>ワシントンのバウザー市長は31日、市内全域に31日深夜から6月1日早朝まで外出禁止令を出した…</p></div></div></div></div>

これを次のように表示したいのです。

米、黒人暴行死で州兵5000人 ワシントン夜間外出禁止 米、黒人暴行死で州兵5000人 ワシントン夜間外出禁止 米、黒人暴行死で州兵5000人 ワシントン夜間外出禁止 ホワイトハウスの近くで続く抗議デモ(5月31日、米首都ワシントン) ホワイトハウスの近くで続く抗議デモ(5月31日、米首都ワシントン) 米、黒人暴行死で州兵5000人 ワシントン夜間外出禁止 トランプ政権 【ワシントン=中村亮】白人警官の暴行による黒人死亡事件への抗議デモが全米に広がっていることを巡り、国防総省州兵総局は5月31日、15州と首都ワシントンのあるコロンビア特別区が同日午前時点で州兵(ナショナルガード)を動員したと明らかにした。合計で約5千人にのぼり、必要に応じて2千人が追加されると説明した。 ワシントンのバウザー市長は31日、市内全域に31日深夜から6月1日早朝まで外出禁止令を出した…

上記の記事を下記のように表示するには、どうしたらよろしいでしょうか。

環境は次のとおりです。

OS:ubuntu18.04
Python:3.7
Beautiful Soup:4.9.1

よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

日経新聞をスクレイピングしたところ、ほとんどの記事が1行になってしまいます。すべてのテキストを改行したいと思っています。

どうやって取得したのでしょう?textですかね。
stringsで取得すると、テキストノードごとに別れたリストになります。

Python

1for text_node in soup.strings: 2 print(text_node)

投稿2020/06/01 07:13

otn

総合スコア84499

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

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

good_morning

2020/06/01 07:54

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問