【Python】スクレイピングデータをファイル出力

今回はPythonでスクレイピングしたデータをtxtやcsvに出力する方法を紹介します。
スクレイピングしたデータをtxtやcsvに出力
txtやcsvに書き出すまでの流れを紹介します。
完成ソース
import requests
import shutil
from bs4 import BeautifulSoup
url = requests.get("https://fich-labo.com/")
soup = BeautifulSoup(url.content, "html.parser")
file = open('/Users/username/Desktop/test.csv', 'w')
file.write(soup.find("div", "archives-list simple-list").text)
file.close()
下記ソースコードは、実行環境によって変更しなければいけない個所を日本語で記述してます。
import requests import shutil from bs4 import BeautifulSoup url = requests.get("サイトのurl") soup = BeautifulSoup(url.content, "html.parser") file = open('/パス/ファイル名.拡張子', 'w') file.write(soup.find("要素", "要素名").text) file.close()
必要な物
- Requests
- Beautiful Soup
スクレイピングするには上記のライブラリが必要なので、下記コマンドをターミナルやコマンドプロンプトで実行しましょう。
pip3 install requests
pip3 install beautifulsoup4
インポート
インポートするとファイルに書き出す機能やスクレイピングの機能を読み込むことが可能です。
import requests import shutil from bs4 import BeautifulSoup
取得したいサイト
スクレイピングしたいサイトのURLをセットしましょう。
url = requests.get("サイトのurl")
実際にサイトを読み込む
実際に変数に入ったサイトを読み込んでいます
soup = BeautifulSoup(url.content, "html.parser")
ファイルに書き込む
- openでファイル名と保存先を指定
- writeで書き込み
- soup.findでサイトのどの部分を読み込みたいか指定
- closeで処理終了
file = open('/パス/ファイル名.拡張子', 'w') file.write(soup.find("要素", "要素名").text) file.close()
もしdiv class=”memo”の中身を読み込みたい場合は
file.write(soup.find("div", "memo").text)
です。
スクレイピング先の要素名を確認するには、Chromeの検証ツールなどで確認しましょう。
検証ツールで要素名を確認する方法
スクレイピングしたいサイトにアクセスしてください。
右クリックでメニューが出るので、下にある検証をクリックしくてださい。
現在閲覧してるサイトのソースコードが表示されるので、その中から要素名を確認してみましょう。
スクレイピング禁止サイトに注意
ツイッターなどクローラーの巡回を禁止しているサイトなどはスクレイピングも禁止されています。
場合によっては法的処罰を受けることもあるので注意しましょう。
![]() |
Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる! [ 森 巧尚 ] 価格:2,420円 |
スクレイピングの練習する際はこのサイトで実行しても構いません。
Yusuke
最新記事 by Yusuke (全て見る)
- 【準備は何が必要?】フリーランスクリエイターとは? - 2022年4月24日
- 【ファクタリング】フリーランスの為の先払いサービスとは? - 2022年4月23日
- 【初心者必見】フリーランスになる前に読んでおくべき本を紹介! - 2022年4月22日