PythonでwebにあるPHPと連携する為のスクレイピング

e-PaperのPythonコードももう少し実用的になるのではないかと試行錯誤の段階になりつつあります。

urllib2と言うライブラリを見つけたが、更に調べるとPython3では使えないと言う情報にたどり着きました。
ついでに私がやろうとしている事はスクレイピングと言うらしい。散々検索してやっとたどり着いた目的の場所に記載されていた。言葉だけでも知っていれば、検索をもっと効率的に行えたかも。言葉の定義とは素晴らしい。

■urllib.request

標準のライブラリーで使い勝手は程々らしい。
https://qiita.com/hoto17296/items/8fcf55cc6cd823a18217
https://docs.python.org/ja/3/howto/urllib2.html

■BeautifulSoup

インストールが必要なモジュールでスクレイピングを検索すると大体これに当たる。
pip3 install requests
pip3 install bs4
(pip3 install beautifulsoup4)

pip3 install pandasFile

上記の二種類を中心にして色々と検索してみたのだが、上手く行かなかった。原因は幾つか。

・urllibは使い方が分からなかった。いろいろと探したのだが、BeautifulSoupが簡単だからそっちを使うように指示がなされているサイトばかりで、詳しく記載されていないか、Pythonの細かい仕様に関する分かりにくいページのどちらか。

・BeautifulSoupはインストールに失敗しているのか、モジュールの読み込みに失敗する為にコードを試すに至らなかった。

・自分のサイトのデータを持ってくるだけの想定なので、細かいタグの解析等の機能は必要ないが、それに対応するようなモジュールを探したが見つからなかった。


久しぶりにインターネットを検索していたら、以下のようなサイトを見つけて試したところ、簡単にWebページのデータを持ってくることが出来た。

https://atmarkit.itmedia.co.jp/ait/articles/1910/15/news018.html

import urllib.request

gip = urllib.request.urlopen(‘https://www.example.com/’)
print(‘code’,gip.getcode())
content = gip.read()
html = content.decode()

Webデータは、必要なテキストデータのみを出力するようにPHPで記載する事で、タグなどを削除する手間を省くことが出来る。

例えばウェブサイト上に小さな掲示板を作って、10分毎に読み込んでe-Paperに表示させると、近代的なポケベルになる。RaspberryPiZeroのサイズなら持ち歩きも邪魔じゃないけど、バッテリーとかSIMの問題がある。モバイルルータとモバイルバッテリが必要なのは困るかも。

とりあえず、上記のプログラムを組込み、PoEのモジュールと小型のEinkディスプレイを付けたRaspberryPiZeroに、時間とグローバルIPアドレス、ローカルIPアドレスを表示させる機能を付けることが出来た。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です