PythonでWebスクレイピングツールを自作してみる➁

Scraping

こんばんは。

だんだん寒くなってきましたね。

今年は、インフルエンザに加え、コロナウイルスが冬場に流行するかもしれません。

感染対策怠らずに行いたいですね。

さて今回は前回作成した、Webスクレイピングツール(検索したキーワードでgoogle検索を行いタイトルやURLを取得するツール)をアップデートしたので記事にしてみました。

元々は、Pythonでwebスクレイピングをする方法を調べていただけたったのでが、

ブログを書いていると、もっと網羅的に情報を集めたいと思うことや、

前回参照した記事をもう一度読み直したい時に、なかなか探している記事が見つからなかったり、

良いなと思った記事をストックしたかったりと、やりたいことが増えて、今に至っています。

前回バージョン

前回はこちらの記事に動画を載せています。よかった見てみてください。

前回バージョンの主な機能

以前のバージョン
  1. 検索したキーワードでスクレイピング(キーワードでgoogle検索を行い、タイトルやURLを取得する)
  2. 検索した日付のデータのみ表示する
  3. 検索キーワードでフィルタリングする
  4. 画面上のデータをダウンロードする
  5. 検索キーワードでデータを削除する

今回のバージョン

まず、レイアウトを変えました。

個人的に紺色が好きなので、紺色をベースに統一感のある配色にしました。

また、ツールの名前を『Lampropeltis (ランプロペリティス)』という名前にしました((笑)) 読みにくい。。

Lampropeltisとはキングヘビ属のヘビです。

学生時代、爬虫類の肝臓の神経に関する研究をしいた時に、かっこいいヘビの名前だなと思った記憶があったので

Pythonを使っていることもあり、この名前を付けました。

主な機能

前回バージョンの1~5の機能のうち、2の検索した日付で検索は、日付を指定して検索するシーンがなかったので機能を除外しました。

また、レイアウトを刷新しました。

2以外の機能はそのままに、以下の機能を追加しました。

今回のバージョン
  1. お気に入り登録ボタン
  2. 既読ボタン
  3. メモ
  4. 1行削除
  5. 新規登録
  6. 検索ボックス

機能の紹介

➀お気に入り登録ボタン

お気に入りの記事をお気に入りすることで、ヘッダーのプルダウンから「すべて」、「お気に入りのみ」または「お気に入り以外」など条件を絞った検索が可能です。

登録済ボタンを再度押下することで未登録の状態に戻すことができます。

お気に入りプルダウン

お気に入りで絞った場合
➁既読ボタン

記事を読み終えた場合、既読ボタンを押すことでレコードを暗転することができます。

再度、ボタンを押すことで暗転前の状態(未読)に戻すことができます。

➂メモ

記事を要約した情報や、メモを取りたい場合このメモ機能を使うことができます。

メモした内容は一覧に表示されます。

メモボタン押下後
メモした内容は一覧に表示される

④1行削除

前回はキーワードでの削除のみでしたが、今回は記事1つ1つを削除できるような実装を行いました。

削除前にに確認ダイアログを表示します。

ちなみに前回は物理削除(データを完全に消去)でしたが、今回は論理削除(フラグを立てて、検索したときに条件にかからないようにする)をしています。

⑤新規登録

新しく記事を追加登録したい場合、REGISTボタンでキーワード、タイトル、詳細、URLを入力して登録することができます。

⑥検索ボックス

検索ボックスからインクリメンタルサーチができます。

インクリメンタルサーチとは検索条件をすべて入力し検索ボタンを押下するのではなく、検索ワードを入力のたびに即座に検索結果を表示するものです。

Data TablesというjQueryのプラグインを使っています。

その他

検索条件を複数かけ合わせて検索することができます。

ヘッダーのプルダウンは「TODAY (今日スクレイピングしたデータ)」「ALL KEY WORDS (キーワード(」「ALL FAVORITE (お気に入り)」の3つの条件がありますが、複数の条件を組み合わせて検索することができます。

例えば、TODAY (今日スクレイピングしたデータ) × CXとは × ONLY FAVORITE (お気に入りのみ) で検索条件を絞って検索することができます。

次やりたいこと

  1. 既読/未読での条件の絞り込み
  2. 複数個の記事を選択して削除
  3. スマホでも使いやすいデザインにする
  4. AWSで運用

特に、どこからでもアクセスできるように4番をやりたいなと思っています。

さいごに

このツール、仕事が終わった後や土日を使って時間がある時に、かれこれ1年ほど開発を続けています。

自分で一から作ると、世の中に出回っているプロダクトがいかに洗練されたものか痛感することができます。

知らない人からすれば、こんな機能あって当たり前と思うような機能も、実際、どのように実現したらよいのか考え、また、実際に実装してみると思ったように動かなかったり、なかなか骨が折れる作業です。

しかし、苦労してやりたいことが実現できた時の達成感は、手作りのアプリケーションでしか味わえない楽しさだと思います。

また、どのようなデザインにするか、どのような機能を実装するかなど、様々な想像を膨らませながら、自分だけのツールを作ることができるのも、手作りアプリケーションのだいご味ではないでしょうか。

スポンサーリンク

コメント

タイトルとURLをコピーしました