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

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

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

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

Q&A

解決済

2回答

494閲覧

サイトからタイトルのみをスクレイピングで取得したい。

papermount

総合スコア2

Python

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

0グッド

0クリップ

投稿2022/06/14 12:23

前提

Pythonでスクレイピングをしたいです。
どうしても、うまくいかず助けていただきたいです。

実現したいこと

・こちらのサイト(https://blog.hatenablog.com/entry/2022/06/13/120000)から、
すべてのタイトルを取り出したいですイメージ説明

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

https://blog.hatena.ne.jp/hatenablog/blog.hatenablog.com/subscribe?utm_campaign=subscribe_blog&utm_source=blogs_topright_button&utm_medium=button https://hatenablog.com?utm_source=weeklyHatenaBlog&utm_medium=referral&utm_campaign=globalNavbar /archive/category/Feature /archive/category/Topic /archive/category/Odai /archive/category/Editor’s%20Pick /archive/category/Information / https://blog.hatenablog.com/pro-monetize-campaign /archive/category/Feature /archive/category/Topic /archive/category/Odai /archive/category/Editor’s%20Pick /archive/category/Information https://blog.hatenablog.com/archive/2022/06/13 (省略)

該当のソースコード

Python

1load_url = "https://blog.hatenablog.com/entry/2022/06/13/120000" 2html = requests.get(load_url) 3soup = BeautifulSoup(html.content, "html.parser") 4 5for element in soup.find_all("a"): 6 url = element.get("href") 7 print(url)

試したこと

上のように、実行してもURLしか取得できず、肝心のタイトル(文字列)が所得できません。
恐らく、要素の指定の仕方が間違っていると思うのですが、
自力では解決できそうもなく、ご教示いただきたいです。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2022/06/14 12:45

要素の指定の仕方が間違っているとか以前に、なんにも考えずに丸投げしてるように思えますが? ブラウザでそのページのソースを見たりして、試行錯誤した跡が全くうかがえないです。もし試行錯誤したならそんなソースになるはずがない。
papermount

2022/06/14 14:59

ご指摘ありがとうございます。 自分なりに時間をかけて、試行錯誤したつもりでしたが、どこかで他人任せになっていたのかもしれません。 今後は、試行錯誤した後もしっかりと示せるようにいたします。
guest

回答2

0

python

1import requests 2from bs4 import BeautifulSoup 3from pprint import pprint 4 5load_url = "https://blog.hatenablog.com/entry/2022/06/13/120000" 6html = requests.get(load_url) 7soup = BeautifulSoup(html.content, "html.parser") 8 9a = soup.select('div.entry-content table tr > td > a:nth-child(2)') 10title = [i.text for i in a] 11pprint(title) 12 13# 14['厚生年金が支給停止だから月収47万円以上? - andalusiaのブログ', 15 'ビールが無限に飲めるタイ料理 ムー・サップ・カイケム(豚ひき肉と塩玉子の炒めもの)の作り方 - nomolkのブログ', 16 'プロダクトの目的・目標・指標をチームで考えていくために可視化した話 - SmartHR Tech Blog', 17 '「握手会」と最近のCD売上のこと - WASTE OF POPS 80s-90s', 18 '昇給によって年収1000万円を超えるエンジニアを産み出すという目標の達成報告 - Toyokumo Tech Blog', 19 '海外製ルータの脆弱性検証 - ラック・セキュリティごった煮ブログ', 20 '人間の脳が片方失われてもほぼ正常に機能するのはなぜなのか──『脳の地図を書き換える\u3000神経科学の冒険』 - 基本読書', 21 'ゆめみのフロントエンドコーディング試験の題材で React の勉強をしました - Mitsuyuki.Shiiba', 22 "本多勝一『アムンセンとスコット』(朝日文庫)は、本文もさることながら山口周の解説文が非常に示唆的 - KJ's Books and Music", 23 'インフレ時に従業員の給料が上がっていく順番について 「給与アップは下から上へ」 - 頭の上にミカンをのせる', 24 'Slackで本を紹介しやすくするサービスを作った - kurainの壺', 25 'はてブのユーザーインタビューを受けた - 本しゃぶり', 26 '教養とは:漁父の辞と水処理 - 山形浩生の「経済のトリセツ」', 27 '僕と西原理恵子さんと「愛すること」の呪い - いつか電池がきれるまで', 28 'freeeのエンジニアにリモートワーク環境のこだわりを聞いてみた - freee Developers Hub', 29 'トランス女性が優勝したと話題の自転車競技は、最初からトランスジェンダーにひらかれた部門 - 法華狼の日記', 30 'リバタリアニズムの終焉――陰謀論に乗っかるロン・ポールとその支持者をみた雑感 - 接近から流します', 31 'ポランニー『ダホメ王国と奴隷貿易』全訳終わった - 山形浩生の「経済のトリセツ」', 32 '不確実性に立ち向かう一つのTips〜リスク管理に取り組んだ話〜 - BASEプロダクトチームブログ', 33 '大規模システムのリプレイスを2度経験したPMが語るシステム移行プロジェクトで重要なこと - JMDC TECH BLOG', 34 'ユニクロUの隠れた良品フレンチリブパンツ…気軽に、ラクに、でもそれなりに見えてしまうパンツが欲しい全ての方に - ナルシストで何が悪い?', 35 'ポランニー/イモータン・ジョー/コルナイ:不足の経済と社会権力 - 山形浩生の「経済のトリセツ」', 36 'ヘイトに傾いた人には恥をかかせないほうがよいのかもしれない - バラバラに、ともに。遠藤まめたのブログ', 37 'OSS活動を通して掴んだ海外キャリア。英語力よりも技術力を大切にチャンスを掴む - Findy Engineer Lab - ファインディエンジニアラボ', 38 'Rubyでできる!RISC-Vシミュレータの作りかた 〜 From 4649 To HELLO WORLD 〜 - esm アジャイル事業部 ' 39 '開発者ブログ', 40 'アクセスログ解析サービスVisionalistで利用していたドメイン(tracer[.]jp)の脅威分析と注意喚起 - NTT ' 41 "Communications Engineers' Blog", 42 '株式会社Hajimari|Notionで新卒採用管理システムを作ってみた! - Hajimari Tech Blog 株式会社Hajimari', 43 '#ISUCON本 こと「達人が教えるWebパフォーマンスチューニング」について - uzullaがブログ', 44 '『新しい時代への歌』のサラ・ピンスカーによる、今年ベスト級のSF短篇集──『いずれすべては海の中に』 - 基本読書', 45 'EM見習いとして1on1と採用計画見直しを実施して感じたこと - commmune Engineer Blog', 46 '90年代後半には何かがあったんだよ', 47 '当事者としては90年代後半の青春時代はクソ', 48 '【追記あり】子供の頃、西原理恵子のファンだった思い出。', 49 'ちょっとお高めのお寿司屋さんから一言', 50 'いい歳こいたおっさんが音楽理論を1ヶ月学んだ結果', 51 'ネットがもうどこを見てもつまらん', 52 '面白かったハードSF小説おしえて', 53 'お前らの部屋がなんで汚いままなのか教えてやる', 54 '初めてお付き合いさせて貰う彼氏の部屋が機械だらけだった', 55 'なんで日本人って「海外移住する日本人」が大嫌いなの?']

投稿2022/06/14 12:59

melian

総合スコア19798

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

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

papermount

2022/06/14 15:00

ご回答いただきまして、ありがとうございます。 先にご回答いただいた方をベストアンサーとさせていただきました。 せっかくご教示いただきましたのに、申し訳ございません。
melian

2022/06/14 16:10

CSS セレクタは便利ですので機会があれば使ってみてください。
papermount

2022/06/14 17:18

はい!機会があれば使ってみようと思います!! 何から何まで教えていただき、ありがとうございます。
guest

0

ベストアンサー

import requests from bs4 import BeautifulSoup load_url = "https://blog.hatenablog.com/entry/2022/06/13/120000" html = requests.get(load_url) soup = BeautifulSoup(html.content, "html.parser") table = soup.find('table') titles=[] tbody = table.find('tbody') trs = tbody.find_all('tr') for tr in trs: for td in tr.find_all('td'): titles.append((tr.find('th').text,td.text)) for rows in titles: print(rows)

投稿2022/06/14 12:39

編集2022/06/14 12:42
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

papermount

2022/06/14 15:02

ご回答いただき、ありがとうございます。 番号が付いたうえで出力されて、とても助かりました! ご教示いただきまして、ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問