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

質問編集履歴

1

【試してみたこと】を追記しました。

2021/11/23 10:31

投稿

Aya_K
Aya_K

スコア5

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  こんにちは。Pythonでスクレイピングを行っています。
2
2
  例えば
3
3
  https://medium.com/cotinetwork/coti-newsletter-september-20th-a9cac08e22df
4
- こちらの記事で本文だけを抽出したいのです。
4
+ こちらの記事で本文だけを抽出したいのです。
5
5
 
6
6
  htmlを見ると、
7
7
 
@@ -13,7 +13,15 @@
13
13
  hy hz ct ia b ib ic id ie if ig ih ii ij ik il im in io ip iq ir is it iu iv cl dq
14
14
  なのは分かるのですが、これをbeautiful soupを用いて取得することはできますでしょうか?
15
15
 
16
+ 【試してみたこと】
17
+ ①contents = soup.find_all('p', class_="hy hz ct ia b ib ic id ie if ig ih ii ij ik il im in io ip iq ir is it iu iv cl dq")
18
+ で本文の取得自体はできます。しかし、このクラス名自体を自動でpythonで取得できるようにしたいのです。
16
- a = soup.select("body > div > div > div:nth-child(3) > article > div > div > section > div:nth-child(3) > div > p")
19
+ a = soup.select("body > div > div > div:nth-child(3) > article > div > div > section > div:nth-child(3) > div > p")
17
- などのCSS参照も考えてみたのですが、ブログごと/記事ごとに階層構造が異なるため、うまい参照方法が思いつきません。どうぞお知恵をお貸しください。beautifulsoup以外のライブラリを用いても構いません。
20
+ などのCSS参照も考えてみたのですが、ブログごと/記事ごとに階層構造が異なるため、うまい参照方法が思いつきません。
21
+ ③feedparserも試してみました。
22
+ feeds.entries[0].content
23
+ により、本文をタグ付きで取得することができましたが、<figure><li><img>タグなど余計な要素が入るため、これは消したいです。したがって、beautifulsoupの方が効率的かなと思っています。
18
24
 
25
+ どうぞお知恵をお貸しください。beautifulsoup以外のライブラリを用いても構いません。
26
+
19
27
  宜しくお願いします。