スポンサーリンク
URLへアクセス
# coding: utf-8 from bs4 import BeautifulSoup import urllib.request as req #HTMLを取得 url ="https://◎◎◎" res = req.urlopen(url) soup = BeautifulSoup(res, "html.parser")
coding:utf-8を入れておかないと取得してきた文字がバグる。
これだけ実行しても特に何も起きないけど、接続するための基本コード。
要素を取得する方法
HTMLからどの要素を取得して、どういう形に変換するかを指定する。
基本的な書き方は soup.find("タグ名")
タグ名で取得する
# リンク
tag = soup.find("a")
print(tag)
# 関連文章との関係
tag = soup.find("link")
print(tag)
# 段落
tag = soup.find("p")
print(tag)
# 表の行
tag = soup.find("tr")
print(tag)
# 表の見出し
tag = soup.find("th")
print(tag)
# 表の中
tag = soup.find("td")
print(tag)
# タイトル
tag = soup.find("title")
print(tag)
# タイトル
tag = soup.find("h3")
print(tag)タグがない場合、Noneが返ってくる。
また、これだけだと、テキストだけじゃなくて、タグも全部表示される。
例えば、https://www.python.jp/につないで、以下を実行すると
# coding:utf-8
from bs4 import BeautifulSoup
import urllib.request as req
#HTMLを取得
url ="https://www.python.jp/"
res = req.urlopen(url)
soup = BeautifulSoup(res, "html.parser")
tag = soup.find("p")
print(tag)以下のように、タグも全部取ってくる。
<p class="card-text">プログラミング言語 Python の概要を紹介します</p>
テキストだけ取ってくる場合は以下のようにする。
# coding:utf-8
from bs4 import BeautifulSoup
import urllib.request as req
#HTMLを取得
url ="https://www.python.jp/"
res = req.urlopen(url)
soup = BeautifulSoup(res, "html.parser")
tag = soup.find("p").text #.textを追加
print(tag)
これを実行すると以下のようになる。
プログラミング言語 Python の概要を紹介します
ちょうど、<p>タグのなかのテキストだけを取ってきた感じ。
ドキュメント
http://kondou.com/BS4/








