スクレイピングをしたいからPythonを勉強したいと思われる方も多いのではないでしょうか? 今回から何度かに分けてスクレイピングを学習していきたいと思います。

# 実装する機能

  • Yahooにアクセスしタイトルを取得する。

# 実装したコード

import requests
from bs4 import BeautifulSoup

target_url = "https://www.yahoo.co.jp/"
r = requests.get(target_url)
soup = BeautifulSoup(r.text)
title=soup.find("title")
print(title.text)

動くサンプル

# コード解説

# ライブラリを読み込む

import requests
from bs4 import BeautifulSoup

requestsは、PythonのHttp通信などを行うライブラリです。

BeautifulSoupは、Htmlを解析して必要な要素を取得するライブラリです。

先に書いておきますが、BeautifulSoupではJavascriptで書き出しをされるページは読み込めません。

# リクエストを受け取る

target_url = "https://www.yahoo.co.jp/"
r = requests.get(target_url)

ここでは、リクエストライブラリを使ってHttpリクエストを送り、サーバーから返ってきたデータを変数rに格納しています。

# タイトルを取得する

soup = BeautifulSoup(r.text)
title=soup.find("title")
print(title.text)

r.textでリクエストのHtmlをパースします。 soup.find()でタグの最初の要素を1つだけ取得します。タイトルタグは通常HTMLの中に1つだけですのでコレで問題なく取得できます。H2タグなどの1つのページに複数ある要素をぶっこぬく場合はsoup.find_all()を用います。