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

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

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

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

Python 3.x

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

Q&A

解決済

1回答

702閲覧

BeautifilSoupで、該当するすべての内容を取得したい。

rink

総合スコア80

Beautiful Soup

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

Python 3.x

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

0グッド

0クリップ

投稿2020/12/25 17:04

よろしくお願いします。

今回、自分は
Twitterにある、新聞記事のデータ
から、文を抜き出したいと考えております。

その一部が、

text

1<div class="content--detail-more none-mobile"> 2 <section class="content--body" style=""> 3 <h2 class="body-title">5人はイギリスから帰国</h2> 4 <div class="body-text">5人は、12月中旬から下旬にイギリスから帰国し、空港の検疫で新型コロナウイルスの陽性が確認されたため、国立感染症研究所で検体を解析した結果、変異した新型コロナウイルスが確認されたということです。<br /><br />▽2人は12月18日と20日に羽田空港に帰国し、▽3人は12月21日に関西空港に帰国したということです。<br /><br />年齢は、10歳未満から60代までの男女で、帰国した際に、4人は症状がなく60代の男性がけん怠感を訴えていたということです。<br /><br />5人について田村大臣は「空港検疫で陽性が確認されたので国内に到着したあと、ほかの人に感染するような形で接触があったことは考えられないだろう」と述べました。</div> 5 </section> 6 <section class="content--body" style=""> 7 <h2 class="body-title">26日以降の帰国者への対応は</h2> 8 <div class="body-text">また、26日以降、イギリスと南アフリカから帰国する人への対応について「3日間、ホテルで滞在してもらい、その後検査を行って陰性ならば公共交通機関を使わない形で、自宅などに戻ってもらう。帰国してから14日間は自宅に待機してもらい、その間、健康フォローアップを実施するよう準備に入っている。国内で感染者が拡大する可能性をなるべくなくしていくことに、万全を期す」と述べました。<br /><br />イギリスで感染力が強いとされる変異した新型コロナウイルスが広がっていることを受けて、政府は、12月24日から、当分の間、イギリスからの新規の入国を拒否するなど、入国制限を強化していました。</div> 9 </section> 10 <section class="content--body" style=""> 11 <h2 class="body-title">変異したウイルスとは 国立感染研の情報</h2> 12 <div class="body-text">イギリスを中心に感染が広がっている変異したウイルスについて、国立感染症研究所は12月22日の時点での情報をまとめて公表しています。<br /><br />それによりますと変異株ではウイルスが細胞に感染する際の足場となる「スパイクたんぱく質」と呼ばれる部分の遺伝子に9つの変異があるということです。<br /><br />ウイルスの特徴としては、イギリスの解析でこれまでのウイルスよりも最大で70%、感染しやすくなっている可能性があるということです。<br /><br />症状への影響については、現時点で、この変異株に関係した重症化のデータはないものの、変異したウイルスへの感染が確認された人の大部分が重症化の可能性が低い60歳未満のため評価には注意が必要だということです。ワクチンの有効性への影響は現時点では不明だとしています。</div> 13 </section> 14 <section class="content--body" style=""> 15 <h2 class="body-title">北里大学 中山特任教授「水際でせき止めるのは難しい」</h2> 16 <div class="body-text">ウイルスに詳しい北里大学の中山哲夫特任教授は、変異した新型コロナウイルスが国内で確認されたことについて「人の動きがある以上、イギリスで流行しているウイルスが国内で見つかることはおかしくない。全員、症状が出るわけではないので、水際でせき止めるのは難しい。春に流行した際も気がつかないうちにヨーロッパで流行していたウイルスが国内に入り込んでいて、気付いたときにはもう遅かった。それと同じようなことが今回も起きている可能性がある」と指摘しました。<br /><br />また、変異したウイルスについては「まだ、分かっていないことも多いが、さまざまな報告をみると感染する力が高くなっているようだ。このウイルスで症状に違いがあるかどうかは分かっていないが、感染者数が増えれば、その分、重症の患者も増える可能性がある」と話していました。<br /><br />そして、中山特任教授は、気がついたときには、変異したウイルスがすでにまん延していることもありえるとした上で「これから年末年始で集まる機会があるかもしれないが、『密』にならないようにして、外出を控えるなど、いままで以上に自粛の意識を持ってほしい」と話していました。</div> 17 </section> 18 <section class="content--body" style=""> 19 <h2 class="body-title">国立感染研 脇田所長「国内で流行 拡大でない」</h2> 20 <div class="body-text">イギリスで広がっている変異した新型コロナウイルスに男女5人が感染していることが確認されたことについて、国立感染症研究所の脇田隆字所長は、「イギリスで流行が拡大している変異ウイルスが検疫で確認されたということで、真の意味で国内に侵入して流行が拡大しているわけではないと受け止めている」。<br /><br />「この変異株は、感染力が70%増加しているという情報もあり、国内で拡大するといまの流行をかなり広げてしまう。ただ、病原性やワクチンが有効かどうかについてはまだわからず、今後、ウイルスの分析をしっかり行う必要がある。現在の段階では国内に入れない対策が非常に重要になってくる」と話しました。<br /><br />その上で、「変異したウイルスは国内に入り込んだり、発生したりする可能性もある。マスク着用のほか、手洗い、人と人との距離をとる、3密を避ける、そして飲酒を伴う懇親会など感染リスクの高い『5つの場面』を避けるといった基本的な感染対策を徹底し、リスクのある行動を避けてもらう対策はこれまでと変わらない」と述べ引き続き、基本的な感染対策を取る必要性を強調しました。</div> 21 </section> 22 </div>

となっております。
この、<div class="body-text">の中にある文をすべて取得したいです。

自分は、以下のようにコードを組みました。

python

1import requests as req 2u = "https://www3.nhk.or.jp/news/html/20201225/k10012785161000.html" 3 4sentense = '' 5response = req.get(u) 6soup = BeautifulSoup(response.content, 'html.parser') 7con1 = soup.find('p', class_ = "content--summary") 8 9up2 = [tag for tag in soup.find('div', class_ = "body-text")] 10print(con1.text)#田村厚生労働大臣は、25日午後9時すぎから記者会見し、… 11print(up2)#5人は、12月中旬から下旬にイギリスから帰国し、空港の検疫で…

上の様だと、一つ目の<div class="body-text">の中にある文章しか取得できません。どのようにすれば、すべての文章を取得することができるようになるでしょうか。宜しくお願い致します。

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

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

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

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

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

guest

回答1

0

自己解決

up2 = [tag for tag in soup('div', class_ = "body-text")]
でいけました…

ご迷惑をおかけしました。

投稿2020/12/25 18:56

rink

総合スコア80

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問