初心者でもできた!YahooニュースをPythonでスクレイピングしてみた体験記
こんにちは。MacBook Airを使って勉強中のLucyです。
最近よく耳にする「Webスクレイピング」に興味を持ち、Pythonを使ってYahooニュースの見出しを取得してみました。
結果から言うと……大成功!
でも、そこにたどり着くまでには、いくつものつまずきがありました。
この記事では、初心者がスクレイピングに挑戦して「つまづいたこと」や「乗り越えたポイント」をリアルに記録します。
収益化を目指してブログを始めた方、プログラミングに興味がある方の参考になれば嬉しいです。
🔰 スクレイピングって何?
スクレイピングとは、Webページの情報(HTML)を自動で取得・抽出する技術です。
たとえば、「ニュースの見出し」「商品の価格」「天気情報」などをPythonを使って収集できます。
今回はPythonのライブラリ「requests」と「BeautifulSoup」を使って、Yahoo!ニュースの見出しを取得してみました。
ちなみに、BeautifulSoupという名前の由来、とっても可愛いんですよ。ちょっとした休憩にぜひ。
💻 使用した環境
- PC:MacBook Air
- OS:macOS
- Python:3.9
- エディタ:VS Code
- 実行:ターミナル
📥 必要なライブラリをインストール
最初に以下のコマンドで必要なライブラリをインストールしました。
pip3 install requests beautifulsoup4
(Macでは pip
ではなく pip3
を使うことが多いそうです)
今回使用した requests
や BeautifulSoup
も、Pythonの「ライブラリ」と呼ばれる便利ツールの一種です。
→ Pythonのライブラリとは?便利な道具と組み合わせ例まとめ
📝 Yahoo!ニュースの見出しを取得するコード
以下が実際に使ったPythonコードです:
import requests
from bs4 import BeautifulSoup
url = 'https://news.yahoo.co.jp/'
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
headlines = soup.select('a[href^="https://news.yahoo.co.jp/articles/"]')
seen = set()
for headline in headlines:
title = headline.get_text(strip=True)
if title and title not in seen:
print(title)
seen.add(title)
これで、ターミナルにYahooニュースの見出しがずらっと表示されました!
⚠️ うまくいかなかったこと
・pipが使えない?
ターミナルで pip install
を入力しても「コマンドが見つかりません」と出てしまいました。
→ 正解は pip3 install
でした!
・Pythonファイルが見つからない?
保存したファイルを実行しようとしても、「そのファイルは存在しません」と言われてしまいました。
→ 実は ファイルが「Downloads」に保存されていたのに、ターミナルでは別の場所にいたのが原因。
cd ~/Downloads
python3 yahoo_scraping.py
・タイプミスでうまくいかない
「Downloads」なのに、うっかり「Download」と入力していたことも……。
📈 アフィリエイト:学習環境・ツール紹介
おすすめVPN(海外からのアクセス制限対策にも)
スクレイピング中やWordPressのログイン時にアクセス制限されることがあります。そんなときはVPNがあると安心。
おすすめのPython学習サービス
私が実際に比較検討したオンライン学習サービスの中で、初心者に優しくて特に良いと感じた2つをご紹介します:
- TechAcademy Webアプリケーションコース:マンツーマンのサポートつきで短期間にしっかり学びたい方向け
- Schoo(スクー):ライブ配信&動画見放題で気軽に学びたい方向け
※上記はアフィリエイトリンクを含みます。
🎉 まとめ
- pip3やパスの確認など、初心者にはつまづきポイントが多い
- でもひとつずつ調べれば、スクレイピングは本当に楽しい!
- 学習しながらブログにも書いて、収益にもつながるのが嬉しい
これからは、データをCSVに保存したり、グラフにしたり…もっと応用にもチャレンジしてみたいと思います!
スクレイピングに成功した後は、次にどんなステップを踏めばいいのか?
【初心者の記録】Pythonスクレイピング学習ロードマップでは、実践に役立つ教材やステップをまとめています。