前提・実現したいこと
python3系でbeatifulsoupを使い、特定ページの不要なhtml要素を削除したうえで、特定クラスの内容だけを取得したく考えています。具体的には下記記載の"subtitle"クラスの値の"XXXXXX*"のみを取得したいです。
発生している問題・エラーメッセージ
指定したクラスの中身の取得までは実現できたのですが以下のように不要なタグが入り込んでしまっています。
<div class="subtitle">XXXXXX<a class="YYY" href="ZZZZ"><i class="111111"></i></a></div>, <div class="subtitle">XXXXXX2<a class="YYY" href="ZZZZ"><i class="111111"></i></a></div>, <div class="subtitle">XXXXXX3<a class="YYY" href="ZZZZ"><i class="111111"></i></a></div>(以下省略)
該当のソースコード
python
1import urllib.request, urllib.error 2from bs4 import BeautifulSoup 3url = "https://XXXXXXXXX" 4html = urllib.request.urlopen(url) 5soup = BeautifulSoup(html, "html.parser") 6subtitle = soup.find_all("div", class_="subtitle") 7print (subtitle)
試したこと
webの記事等を参考に以下に書き換えてみたのですがnoneの結果が返り、途方にくれています。
import urllib.request, urllib.error from bs4 import BeautifulSoup url = "https://XXXXXXXXX" html = urllib.request.urlopen(url) soup = BeautifulSoup(html, "html.parser") title = soup.find_all("div", class_="subtitle") #以下で不要タグ削除を試みる for i in title: a = (i.string) print (a)
上記以上にどのようなをすれば良いか分からずすいませんが、どなたかご教示いただけましたら幸いです。
補足情報(FW/ツールのバージョンなど)
python3系のanaconda環境下で, jupyter notebookを使用しています。
回答1件
あなたの回答
tips
プレビュー