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

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

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

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

313閲覧

PythonでYahooニュースのリプライの表示

yuuit

総合スコア6

Beautiful Soup

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2023/10/20 09:55

実現したいこと

PythonでYahooニュースのリプライの表示

前提

現在、PythonにてYahooニュースのリプライの表示を試みています。
コメントは表示できますが、リプライの表示のみができません。
エラーが出ると言うより、データの読込ができていないと思われる状況です。

二つのデータの差はわからないです。
指定のclassを色々変更してみましたが、うまくいきません。

どなたか原因の目星がつく方はいますでしょうか?
よろしくお願いします。

※間違って質問を消去してしまったため、再掲となります

発生している問題・エラーメッセージ

======= RESTART: C:\Users\○○○\Desktop\xxxxx\xxxxxxxxxx\ファイル名.py =======
(うまくいけばここにメッセージが出てくるはずだが何も出てこない)

該当のソースコード

Python

1import requests#ライブラリ requestsをインポート 2from bs4 import BeautifulSoup 3 4url="https://news.yahoo.co.jp/articles/ca647186283eb79e2369e3f39a6418a2b2b212ac/comments"#任意のURLを入力 5html=requests.get(url)#URLを取得 6 7soup=BeautifulSoup(html.content,"html.parser")#htmlの解析 8 9 10comment=soup.find(id="contentsWrap") 11 12for element in comment.find_all(class_="Reply__Wrapper-kFYRQl bllLUu"): 13 print("リプライ:",element.text,"\n") 14 15

試したこと

スペルミスの確認
classの変更

補足情報(FW/ツールのバージョンなど)

IDLE Shell 3.11.5
Windows 11

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

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

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

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

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

melian

2023/10/20 10:32

「返信」ボタンをクリックしないとコメントが表示されません。Yahoo! ニュースの場合、API が提供されている様には見えないので、Selenium を利用するなどした方がよいかと思います。
yuuit

2023/10/20 11:34

コメントを表示するために「返信」は押しています。 ひとまずは指定のコメントを表示できるようになることを目標として、色々試していました。 現実的に、Selenium等を使わないとリプライを表示することは難しいのでしょうか?
melian

2023/10/20 11:42 編集

requests + BeautifulSoup でアクセスする場合には「返信」ボタンを押している状態にはできません。 print(soup) を実行すると HTML が表示されますので、その中に Reply__Wrapper-kFYRQl クラスの HTML 要素が存在しないことを確認してみてください。
yuuit

2023/10/20 12:14

上記について実行してみました。 確かに探してたクラスの要素はなさそうですね... であれば、Seleniumのライブラリを使うと「返信」を押した状態にできると言うことでしょうか? もし上記の問題について参考になるサイトなどあればお聞きしてもよろしいでしょうか?(ここの質問のみで問題を解決するのは大変だと思ったので...)
guest

回答1

0

seleniumを調べてみた結果、youtubeなどで参考になりそうな情報を見つけられたのでひとまずは解決といたしました。
selenium自体の使い方は不明点が多いので、別途質問を掲載しようと思います。
ご回答ありがとうございました。

投稿2023/10/20 13:45

yuuit

総合スコア6

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.41%

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

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

質問する

関連した質問