スクレイピングしたデータをファイルに書き出す方法【Python】

JavaC#PHPServlet JSPSQLPython


今回は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

変数 = requests.get("サイトのurl")

soup = BeautifulSoup(変数.content, "html.parser")

file = open('/パス/ファイル名.拡張子', 'w')
file.write(soup.find("要素", "要素名").text)
file.close()

必要な物

・Requests
・Beautiful Soup

スクレイピングする上で上記のインストール物が必要になるので、下記の項目をターミナルで実行しましょう。

ターミナル Python
pip3 install requests
pip3 install beautifulsoup4

インポート

インポートすることでファイルに書き出す機能やスクレイピングの機能を読み込むことができます。

import requests
import shutil
from bs4 import BeautifulSoup

取得したいサイト

まずデータを取得したいサイトを設定しましょう。

変数 = requests.get("サイトのurl")

実際にサイトを読み込む

実際に変数に入ったサイトを読み込んでいます

soup = BeautifulSoup(変数.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)

です。

スクレイピング禁止サイトに注意

ツイッターなどクローラーの巡回を禁止しているサイトなどはスクレイピングも禁止されています。

場合によっては法的処罰を受けることもあるので注意しましょう!

The following two tabs change content below.

後藤 優介

カメラ歴3年、プログラミング歴半年の23歳会社員。プログラミングはバッグエンドからフロントエンドまで幅広く体験中。カメラは写真だけでなく動画撮影も初めYouTubeに投稿。iPhoneてどれだけ綺麗に動画が撮れるか格闘中!他にもドローン撮影やVR(360°)撮影もしています!
JavaC#PHPServlet JSPSQLPython

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA