1
/
5

【Python】スクレイピング

こんにちは、三橋です。

弊社では、ある業者の複数社のホームページにある情報をチェックするスクレイピングツールを作成しております。
今回スクレイピングがどのようなものなのか調べてみたらPythonで出来ることが分かったので調べて実施してみました。

スクレイピングとは

スクレイピングとは、Webページからデータを抽出するプロセスです。これは、ウェブスクレイピングとも呼ばれます。スクレイピングは、Webページからテキスト、画像、動画、価格情報、レビューなど、様々な情報を抽出することができます。スクレイピングには、プログラミング言語を使用してWebページのHTMLコードを解析し、必要なデータを抽出することが必要です。

Pythonで使用できる主なスクレイピング用ライブラリ一覧

  • BeautifulSoup4
  • Requests
  • Selenium

Python環境でBeautifulSoup4を使用できるようにする

pipコマンドでBeautifulSoup4をインストールします。

pip3 install beautifulsoup4

タグで指定してデータを抽出する

下記ソースを実行し「タイトル: Home - 株式会社クオリアシステムズ」と表示されれば成功です。

import requests
from bs4 import BeautifulSoup

url = 'https://qualias.jp/'

response = requests.get(url)

soup = BeautifulSoup(response.text, 'html.parser')

#タイトルを取得
title = soup.title.string
print('タイトル:', title)
タイトル: Home - 株式会社クオリアシステムズ


class で指定してデータを抽出する

下記ソースを実行し「株式会社クオリアシステムズ」と表示されれば成功です。

import requests
from bs4 import BeautifulSoup

url = 'https://qualias.jp/'

response = requests.get(url)

soup = BeautifulSoup(response.text, 'html.parser')

#タイトルを取得
title = soup.find(class_="hero-small-text").get_text()
print(title)
株式会社クオリアシステムズ


スクレイピング結果をExcelに貼り付ける

下記ソースを実行し「text.xlsx」がこのソースを配置している箇所に作成され、A列とB列に値が入力されれば完了です。

import requests
import re
import openpyxl
from bs4 import BeautifulSoup

# エクセルを開く
wb = openpyxl.Workbook()
sheet = wb.active
sheet .title = "スクレイピング結果"

url = 'https://qualias.jp/blog/'

response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

cnt = 1

#配列ループ
for a in soup.find_all("a"):
	data = str(a.string).rstrip()
	if data == "None":
		continue
	# シートの番号を決める
	sel1 = "A"+str(cnt)
	sel2 = "B"+str(cnt)
	sheet[sel1].value = data
	sheet[sel2].value = a.get("href")
	cnt += 1

# エクセルにデータを保存する
wb.save("text.xlsx")

wb.close()


上記のものを組み合わせてスクレイピングツールを作成していることがわかりました。
スクレイピングは効率的にWebサイトからデータを取得することが出来ます。

株式会社クオリアシステムズ's job postings
1 Likes
1 Likes

Weekly ranking

Show other rankings
Like 三橋 遥香's Story
Let 三橋 遥香's company know you're interested in their content