BeautifulSoupを使用してwebページをデータに変換する:テキストの取得
ここからの演習では、HTMLスープから情報を抽出する基本を学びましょう。今回は、BDFLのwebページからテキストを抽出し、ページのタイトルも表示する方法を確認します。
この演習はコースの一部です
Pythonによるデータインポート中級
演習の手順
- サンプルコードでは、HTMLレスポンスオブジェクト
html_docがすでに作成されています。最初のステップとして、BeautifulSoup()関数を使ってこれをスープ化し、結果を変数soupに代入してください。 - HTMLスープ
soupからtitle属性を使ってタイトルを取得し、guido_titleに代入してください。 print()関数を使って、グイドのwebページのタイトルをシェルに表示してください。get_text()メソッドを使ってHTMLスープsoupからテキストを取得し、guido_textに代入してください。- 回答を送信して、グイドのwebページのテキストをシェルに表示しましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import packages
import requests
from bs4 import BeautifulSoup
# Specify url: url
url = 'https://www.python.org/~guido/'
# Package the request, send the request and catch the response: r
r = requests.get(url)
# Extract the response as html: html_doc
html_doc = r.text
# Create a BeautifulSoup object from the HTML: soup
# Get the title of Guido's webpage: guido_title
# Print the title of Guido's webpage to the shell
# Get Guido's text: guido_text
# Print Guido's text to the shell
print(guido_text)