今回は、find_all()
でH2タグを全部抜きます。
# 実装する機能
- 弊サイトにアクセスしH2タグを取得する。
# 実装したコード
import requests
from bs4 import BeautifulSoup
target_url = "https://coderecipe.org/func/func_abs.html"
r = requests.get(target_url)
soup = BeautifulSoup(r.text)
h2s=soup.find_all("h2")
for h2 in h2s:
print(h2.text)
# コード解説
# ライブラリを読み込む
import requests
from bs4 import BeautifulSoup
requestsは、PythonのHttp通信などを行うライブラリです。
BeautifulSoupは、Htmlを解析して必要な要素を取得するライブラリです。
先に書いておきますが、BeautifulSoupではJavascriptで書き出しをされるページは読み込めません。
# リクエストを受け取る
target_url = "https://coderecipe.org/func/func_abs.html"
r = requests.get(target_url)
ここでは、リクエストライブラリを使ってHttpリクエストを送り、サーバーから返ってきたデータを変数rに格納しています。
# H2タグを取得する
soup = BeautifulSoup(r.text)
h2s=soup.find_all("h2")
for h2 in h2s:
print(h2.text)
r.text
でリクエストのHtmlをパースします。
soup.find_all()
で指定した全ての要素を取得します。つまり、複数です。
前回は、print()で表示できましたが、今回はfor文などでループ処理を行い値を取り出さないといけません。