#これまで
・【初学者向け】Python 基礎1 関数定義と呼び出し
・【初学者向け】Python 基礎2 ブロックとfor文if文
・【初学者向け】Python 基礎3 pipによるサードパーティーモジュールのインストール方法
間違いやもっと良い方法などありましたらご指摘頂けると嬉しいです。
▽環境
Python 3.6.4
#内容
##BeautifulSoupのインストール
HTMLやXMLなどが解析できるBeautifulSoupを使います。(ビューティフルスープ。という読み方でいいのか)
pip install beautifulsoup4
##withについて
withを使うとファイル読み込み時の可読性が向上する。
今回はURLからHTMLファイルを読み込む際に使用。
withについてはここが詳しい
##さあ実行
getlink.py
from bs4 import BeautifulSoup
# ファイル読み込みの為、urllibを使用
import urllib.request as req
url = "https://www.yahoo.co.jp/"
# urlopen(url)が成功したらread以降を実行
with req.urlopen(url) as f:
# あくまでwww.yahoo.co.jpはURLなのでurlopenからのreadでhtmlを読み込む
res = f.read()
# HTML形式として解析
soup = BeautifulSoup(res, 'html.parser')
# <a>を全て取得
links = soup.find_all("a")
# 取得した情報分繰り返す
for a in links:
# attrsに保持しているhref情報を取得
href = a.attrs['href']
# <a>のtitleを取得
text = a.string
# 出力
print(text,">>",href)
結果
ヘルプ >> https://www.yahoo-help.jp/
ニュース >> https://news.yahoo.co.jp/
天気 >> https://weather.yahoo.co.jp/weather/
スポーツナビ >> https://sports.yahoo.co.jp/
ファイナンス >> https://finance.yahoo.co.jp/
テレビ >> https://tv.yahoo.co.jp/
GYAO! >> https://gyao.yahoo.co.jp/
ゲーム >> https://games.yahoo.co.jp/
Yahoo!モバゲー >> http://yahoo-mbga.jp/?_ref=aff%3Dysm001
地図 >> https://map.yahoo.co.jp/
路線 >> https://transit.yahoo.co.jp/
~
会社概要 >> https://about.yahoo.co.jp/
投資家情報 >> https://about.yahoo.co.jp/ir/
社会的責任 >> https://about.yahoo.co.jp/csr/
企業行動憲章 >> https://about.yahoo.co.jp/info/charter/
広告掲載について >> https://marketing.yahoo.co.jp/
採用情報 >> https://about.yahoo.co.jp/hr/
利用規約 >> https://about.yahoo.co.jp/docs/info/terms/
免責事項 >> https://about.yahoo.co.jp/docs/pr/disclaimer.html
メディアステートメント >> https://about.yahoo.co.jp/info/mediastatement/
プライバシーポリシー >> https://about.yahoo.co.jp/docs/info/terms/chapter1.html#cf2nd