5
12

More than 1 year has passed since last update.

Pythonを使って簡単なWebスクレイピング

Last updated at Posted at 2023-02-12

概要

リハビリ2本目です。本記事では、Pythonを使ったWebスクレイピングの方法について紹介します。Webページの情報を取得するための「Requests」ライブラリ、HTMLの情報から必要な情報を抽出するための「BeautifulSoup」ライブラリ、Webページから画像をダウンロードするための「BytesIO」と「PIL」ライブラリについて説明します。これらを用いることで、簡単かつ効率的なWebスクレイピングが可能になります。

Webページの情報を取得する

Webページの情報を取得するためには、「Requests」というライブラリを使います。このライブラリを使うことで、Webページの情報を簡単に取得することができます。次のようなコードを書くことで、Webページの情報を取得することができます。

import requests

url = 'https://www.example.com/'

response = requests.get(url)

html = response.text

print(html) #urlはサンプルなのでエラーが出ます。

HTMLの情報から必要な情報を抽出する

取得したWebページの情報を解析するためには、「BeautifulSoup」というライブラリを使います。このライブラリを使うことで、HTMLの情報から必要な情報を簡単に抽出することができます。次のようなコードを書くことで、HTMLのタイトルを抽出することができます。

from bs4 import BeautifulSoup

html = """
<html>
  <head>
    <title>Example Page</title>
  </head>
  <body>
    <h1>This is a heading</h1>
    <p>This is a paragraph.</p>
  </body>
</html>
"""

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

title = soup.find('title').text

print("Title:", title)

実行すると、以下のような出力が得られます:

Title: Example Page

Webページから画像をダウンロードする

Webページから画像をダウンロードするためには、「Requests」と「BytesIO」というライブラリを使います。これらのライブラリを使うことで、Webページから画像を簡単にダウンロードすることができます。次のようなコードを書くことで、Webページから画像をダウンロードすることができます。

import requests
from io import BytesIO
from PIL import Image

url = 'https://www.example.com/image.jpg'

response = requests.get(url)

img = Image.open(BytesIO(response.content))

img.show()

実行すると、ダウンロードした画像が表示されます。

まとめ

本記事では、Pythonを使って簡単なWebスクレイピングの方法を紹介しました。Webページの情報を取得するために「Requests」ライブラリ、HTMLの情報から必要な情報を抽出するために「BeautifulSoup」ライブラリ、Webページから画像をダウンロードするために「BytesIO」と「PIL」ライブラリを使うことができます。これらのライブラリを使ってWebスクレイピングを行えば、簡単にWebページの情報を収集することができます。

5
12
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
12