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

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

新規登録して質問してみよう
ただいま回答率
86.12%
Python 3.x

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

解決済

pythonのスクレイピング、for文がうまく機能しない

kkmoto
kkmoto

総合スコア3

Python 3.x

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

1回答

0リアクション

0クリップ

212閲覧

投稿2022/09/18 10:06

編集2022/09/18 10:07

前提

jupyter notebookでpythonプログラミングの勉強をしています
はてなブックマークというサイトをスクレイピングしようと考えているのですが、
想定している出力をしていないので質問させていただきます

実現したいこと

はてなブックマークの人気記事9件とそのブックマーク数を出力したいと考えています
現状は人気記事1件(ホームページ最後の記事)とそのブックマーク数しか出力できていません

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

エラーメッセージはありません

該当のソースコード

python3

import requests from bs4 import BeautifulSoup url = "https://b.hatena.ne.jp/" response = requests. get(url) soup = BeautifulSoup(response.content,"html.parser") top_entry = soup.find("section", attrs ={"class": "entrylist-unit"}) entries = top_entry. find_all("div", attrs ={"class": "entrylist-contents"}) for entry in entries: title_tag = entry.find("h3", attrs ={"class": "entrylist-contents-title"}) title = title_tag.find("a"). get("title") users_tag = entry.find("span", attrs ={"class": "entrylist-contents-users"}) users = users_tag.get_text().strip() print(title) print(users)

試したこと

for entry in entries:以降の記述に誤りがあると考えていろいろ調べているのですが解決できませんでした

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

ここにより詳細な情報を記載してください。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

meg_

2022/09/18 12:37

「過剰アクセスに関する注意事項」には、 ・はてなブックマークの HTML コンテンツを自動巡回ツール、ダウンロードツールなどで取得することはお控えください。 ・はてなブックマークに投稿されたデータを取得されたい場合は、はてなブックマークが提供している RSSフィードあるいは API をお使いください。 とありますので、スクレイピングは推奨されない行為に当たるかと思われます。

まだ回答がついていません

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

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

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

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