Pythonで取得したHTMLデータを解析してみる

スポンサーリンク

 

 

前回はWEB上のデータを抜き出す作業を行いました。

 

しかし、スクレイピングで抜き出したWebデータはHTMLタグがいっぱいあって人間が見るとかなり見にくいです。

 

そこで今日は取得したデータを整形していきます。

 

 

PythonでHTMLデータを分析する

 

PythonでHTMLデータを分析するにはbeautiful soupというライブラリーが便利です。

 

 

 

BeautifulSoupのインストール

 

 

コマンドプロンプトから pip install beautifulsoup4 でインストールします。

 

そして、from bs4 import BeautifulSoupでインポートします。

 

 

BeautifulSoupの使い方

 

 

>>> yahoo=BeautifulSoup(r.text,’html.parser’)

 

 

二つ目の引数は解析の種類を表しています。他にもあるみたいですが効率を気にせずとりあえず解析してる俺スゲーしたいってだけならこれで問題ないと思います。

 

そしてBeautifulSoup が返してくれる変数には検索しやすいメソッドが含まれています。

 

 

find()は引数で指定したタグを検索して最初にヒットしたものを返してくれます。

 

 

 

>>> yahoo.find(‘a’)

<a href=”https://www.yahoo-help.jp/“><nobr>ヘルプ</nobr></a>

 

 

 

 

他にも画像を検索したいときは(‘img’)にするとできます。そして、全部検索したいときはfind_all()を使います。

 

検索結果はリストで返されます。

 

 

 

>>> yahoo.find_all(‘a’)

[<a href=”https://www.yahoo-help.jp/“><nobr>ヘルプ</nobr></a>, <a href=”https://www.yahoo-help.jp/app/answers/detail/p/533/a_id/43883“>Internet Explorerの互換表示について</a>, <a href=”https://tourdetohoku.yahoo.co.jp/storyteller/2018/“>被災地・宮城で聞いた「未来につなげたい思い」とは</a>, <a href=”https://rdsig.yahoo.co.jp/smptop/event/201803_bousai/pctl/RV=1/RU=aHR0cHM6Ly9ib3VzYWkueWFob28uY28uanAvcHIvMjAxODAzLw–“>あなたの防災力は何点?「全国統一防災模試」に挑戦</a>,

 

 

 

大体使うのはリンク(a)・画像(img)・表/テーブル(table) でしょう。ループを組み合わせると自動化処理ができますね。

 

 

 

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする