🪒

[入門]スクレイピング with Python

2022/02/13に公開約1,200字

スクレイピングとは

スクレイピングとはWeb上にあるデータを取得し、そのデータを加工、利用すること。
つまり、Webサイトに載っている情報をスクレイプ(擦って)取ってきて、その情報を使って何かに活用しようねというものである。

pythonでのスクレイピング

まずpythonでhttpリクエストを送るのに、requestsというpythonライブラリを使用する。他にもhttpライブラリはいくつも存在するが一番簡単に実装できるのがrequestsなので今回はこれを使用する。

pip install requests
import requests

url = 'https://example'
response = requests.get(url)
print(response.text)

こんな感じでメソッドを指定してURLにアクセスすることができる。

ここで得られたresponse.textというのはhtml形式になっている。でもこの状態のままpythonで解析を行うのはまだ難しい状態になっている。

ここで使用するのがBeautifulSoupというライブラリである。

これをまずインストールする。

pip install beautifulsoup4

使用する

from bs4 import BeautifulSoup

url = 'https://example'
response = requests.get(url)
contents = response.text
parsed_contents = BeautifulSoup(contents)

このparsed_contentsがpythonで解析することができる状態のものである。
詳しいDocument

findメソッド

first_a_contents = parsed_contents.find("a", id="hoge")
# idが"hoge"の"a"タグの最初のテキストを取得。

find_allメソッド

contents = parsed_contents.find_all("a")
# aタグのついたものを全て取得する(複数のタグを同時に取得するときは(["a", "h1"])みたいに記述できる。)

for content in parsed_contents.find_all('h1', id="hoge"):
	print(content)

実際はもっと応用例があるがとりあえず基本的なものだけにしておく。

Discussion

ログインするとコメントできます