いらっしゃいました。ちゆりです。
今回はPythonのライブラリから「lxml」を使ってみた。
lxmlとはどんなライブラリなのか
「lxml」はhtmlやxmlを扱うためのモジュールです。スクレイピングを行うことができますね。
他にも,似たようなモジュールとしてBeautiful Soupやhtmllibなどがありますが,
lxml は、これらと比較して、より高速・柔軟に html を解析できるのです。
例のごとく,モジュールのインストールをしていきます。
□ Windows
$ pip install lxml
□ MacOS
$ pip3 install lxml

lxmlの使い方
Webサイトのhtmlから情報を引き出していきます。
この例ではlxmlモジュール以外にもrequestsというモジュールもインストールしてますので,必要に応じてインストールしてみてください。
早速Pythonを記述していきます。
import lxml.html
import requests
# WebサイトのURLを指定
#今回は僕のブログのトップページから
url = "https://kakumac.com"
# Requestsを利用してWebページを取得する
r = requests.get(url)
# lxmlを利用してWebページを解析する
html = lxml.html.fromstring(r.text)
# lxmlのfindallを利用して、h2タグの情報を引き抜く
h2_tags = html.findall(".//h2")
for h2_tag in h2_tags:
print(h2_tag.text)
僕のサイト(https://kakumac.com)からh2タグの情報を引き抜くという単純なスクレイピングです。
h2タグを引き抜くと見事に僕のブログの記事タイトル名が取得できました。
Pyhtonの環境作りは「Virtualenv」を使う。
【アクアリウム】GEXメガパワー9012の実力は!?静音性など、半年間使ってみた感想
意外と知らないGoogle検索術〜ビジネス・文書作成・情報収集のコツ〜
【Webアプリ】募金箱を作成しました。使ってくれた方を毎週紹介。自己顕示力の高い方はぜひ,募金を。
アクアリウムでかっこいいレイアウトを作る
HerokuでFlask/Djangoを動かすために必要なProcfileの意味がやっと分かったお話
ロリポップサーバーに鍵認証でSSHログインする方法
GPSのロールオーバー対策してる??
Pyhtonの環境作りは「Virtualenv」を使う。
【HTML】記事の途中に飛んでいくようにする方法
【python】辞書を扱うならsetdefaultメソッドはマジ便利
【超基礎】HTMLの骨格とそれぞれの意味
HerokuでFlask/Djangoを動かすために必要なProcfileの意味がやっと分かったお話
PaaSサービスとしてHerokuを使ってみる。
ド素人でも作れるウィルスプログラミング入門
【超基礎】HTMLの骨格とそれぞれの意味
アクアリウムでかっこいいレイアウトを作る
【海外論文読んでみた】ウィスキーを水で希釈すると味わいが増す仕組み
【Linux】rmコマンドで大量のファイルを消せなくて焦ったお話
意外と知らないGoogle検索術〜ビジネス・文書作成・情報収集のコツ〜
lxmlモジュールを使ってみた感想
いいですね。スクレイピング!!
今流行っていますもんね。Webスクレイピング
このライブラリを使いこなすにはXPath(XML Path Language)の知識を習得しておくと,もっと便利に使いこなせます。今回僕はh2タグを取得しましたがXPathの知識があれば,classの指定だったり,フィルターをかけたりしてスクレイピングの自由度がもっと上がります。(僕はXPathについては,あまり知識がなかったので今回はうまく紹介できませんでしたが…もっと勉強しておきます。)
XPathを理解している人にとっては非常に使い勝手の良いライブラリですね。
例えばこんな使い方も
lxmlモジュールを使えば,占いサイトなどをスクレイピングして星座のランキングを毎日プログラムから取得する事ができますね。
他にも,天気予報だったり,ニュースの注目記事だったり…
Webスクレイピングはできることがたくさんあって素晴らしい。