こんにちはショウです!
以前もスクレイピングについて触れましたが、2025年現在、Pythonを取り巻く環境はさらに進化しています。そこで今回は、今の時代に最適な**「Webスクレイピング×Excel自動化」の決定版**をお届けします!
「ネット上の情報を集めてExcelにまとめる」という作業は、自動化の第一歩として最適です。この記事を読み終える頃には、あなた専用の自動データ収集ツールが作れるようになりますよ。
1. 2025年の標準!必要なライブラリの準備
まずは、現代のPython開発で標準的に使われるライブラリを揃えましょう。情報を取得する「requests」と、解析する「BeautifulSoup4」、そしてExcelを扱う「openpyxl」の3つをセットでインストールします。
以下のコマンドをターミナル(WindowsならPowerShellなど)に貼り付けて実行してください。
pip install requests beautifulsoup4 openpyxl
もしインストールでエラーが出る場合は、Pythonのパスが通っていない可能性があります。最新のVSCodeを使えば、ターミナルからスムーズに実行できるはずです。
専門用語解説:pip(ピップ) Pythonのライブラリ(便利な道具セット)をインストールするためのコマンドです。これ一つで世界中の便利なプログラムを自分のPCに取り込めます。
2. 【実践】サイトから情報を抜き出しExcelに保存する
では、実際にコードを書いてみましょう。2025年現在の推奨される書き方(最新の文字コード自動判別など)を取り入れた、最もシンプルな構成です。
import requests from bs4 import BeautifulSoup import openpyxl
1. Webサイトへアクセス
url = https://example.com
res = requests.get(url)
res.encoding = res.apparent_encoding # 文字化け対策
2. 解析の準備
soup = BeautifulSoup(res.text, "html.parser") items = soup.find_all("h2") # 見出しを取得
3. Excelへの書き込み
wb = openpyxl.Workbook() ws = wb.active ws.title = "スクレイピング結果"<br><br>for i, item in enumerate(items, 1): ws.cell(row=i, column=1).value = item.get_text(strip=True)
保存
wb.save("scraping_result.xlsx") print("最新のExcelファイルを作成しました!")
専門用語解説:html.parser(エイチティーエムエル・パーサー) HTMLというWebサイトの設計図を、Pythonが理解しやすいように分解・解析してくれるプログラムのことです。
3. 【重要】2025年のスクレイピング・マナー
5年前よりも、Webサイトのセキュリティやプライバシー保護は格段に厳しくなっています。今、スクレイピングを学ぶなら絶対に知っておくべき「3つの鉄則」があります。
- 「robots.txt」を確認する: サイトのURLの末尾に /robots.txt と入力して、スクレイピングが禁止されていないか確認しましょう。
- time.sleep()を入れる: アクセスごとに time.sleep(1) (1秒待機)を入れるのがエンジニアの最低限のマナーです。
- User-Agentを設定する: 「どこの誰がアクセスしているか」を明確にすることで、サイト側からのブロックを防ぎやすくなります。
まとめ
今回は、2025年最新版のスクレイピング入門として、Web情報の取得からExcel保存までの流れを解説しました。
- 最新のrequestsとBeautifulSoup4を使おう
- 文字化け対策(apparent_encoding)を忘れずに
- マナーとルールを何よりも大切に!
技術は日々進化していますが、根本にある「便利にしたい」という気持ちは同じです。正しく学んで、あなたの日常をもっと快適にしていきましょう!
あわせて読みたい記事
編集後記
5年前の記事と見比べると、当時は当たり前だった書き方が今では少し古くなっていることに気づかされます。プログラミングの世界は変化が早いですが、その分、新しい「楽をする方法」がどんどん生まれるので飽きませんね!皆さんも常に最新の情報をキャッチアップしていきましょう!