見出し画像

BeautifulSoupで、Webページのタイトルを表示する

Webページのタイトルを表示する

今日は、『つくってマスターPython』の第5章での学びをアウトプットします。

BeautifulSoupを利用して、指定アドレスにアクセスし、そのページのタイトルを表示してみます。

import requests
from bs4 import BeautifulSoup

address = 'https://www.tuyano.com/index2?id=505001'
resp = requests.get(address)
data = resp.text

# BeautifulSoupオブジェクトの作成
soup = BeautifulSoup(data, 'lxml')
print('タイトル:' + soup.head.title.string)
BeautifulSoupの利用に際して、レスポンス(Responseオブジェクト)を取得した上で文字列を取り出し、BeautifulSoupオブジェクトを作成します。

上記のコード例では、requests.getでレスポンスオブジェクトを取得し、変数respに代入していますね。そして、resp.textで文字列を取り出し、変数dataに代入しています。

(BeautifulSoupの;註)第1引数には、解析するHTMLやXMLのソースコードの文字列もしくはファイル(openで開く)を指定します。第2引数には使用するパーサーを指定します。
BeautifulSoup(  対象  [, パーサー]  )

今回は、対象が、dataで、パーサーが’lxml’ですね。

BeautifulSoupオブジェクトは、HTMLのルート(<html>タグ)を基準に、HTMLをPythonのオブジェクトとして扱うことができます。例えば、ここでは<title>タグをsoup.head.titleというように取り出しています。
このように、ダグ名をドットでつないでいくことで、特定のタグを取り出すことができるのです。例えば、<body>タグ内にある<h1>タグならば、soup.body.h1を記述すれば取り出せます。

サポート、本当にありがとうございます。サポートしていただいた金額は、知的サイドハッスルとして取り組んでいる、個人研究の費用に充てさせていただきますね♪