サイトアイコン NegativeMindException

ブラウザ操作自動化ツール『Selenium』を試す

だいぶ前にSeleniumの存在を知っておきながら、まともに試さず時間が経った。



Selenium WebDriverをPythonから叩けばスクレイピングもお手軽だよなぁ、と思い始めた。
Python環境でもpipで簡単にSeleniumをインストールできる。
ブラウザはChromeを使いたいので、別途ブラウザ用のWebDriverとしてChromeDriverもダウンロードした↓
https://sites.google.com/a/chromium.org/chromedriver/

PythonからWebDriverの実行ファイルを叩くような使い方をするらしい。
スクレイピングでSeleniumを使う1番のメリットは、ログインが必要なサイトや、JavaScriptの実行を求めるサイトでも普通のブラウザ操作としてコードが書ける点。複雑なWebの仕組みを抽象化するためにブラウザを間に噛ます感じ。(全部コーディングでやろうとして苦労したことがある…)
Seleniumでサイトのデータを粗く取得して、Beautiful Soupなどのライブラリで詳細にtextをパースしていけば良いんじゃないかな。
https://blog.negativemind.com/2014/06/15/python%E3%81%AE%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%80%8Ebeautifulsoup%E3%80%8F/



始めるにあたって参考にしたのはこちら↓
http://nfnoface.hatenablog.com/entry/2017/03/08/212300
https://dev.classmethod.jp/tool/eclipse/windows-selenium-headless-chrome/

何で急にスクレイピングの勉強を再開したかと言うと、最近は機械学習を手軽に試せるライブラリが充実してきたのに、手元にあんまり面白いデータが無かったから。
そして、個人のPCで試せる程度の演算負荷と考えると、画像よりもtextデータの方が色々と試行しやすい気もしている。単位時間あたりに沢山試せた方が学びがあるんじゃないかな。

スクレイピングや言語処理にはそれほど詳しくないんだけど、幸い広く浅く紹介している書籍の存在を知った。↓



画像認識にニューラルネットワークを使う理屈は何となく知ってるけど、言語処理については全く知らないので勉強してみたくなった。

最近Qiitaによく使う正規表現のまとめ記事がアップされたので助かる。
https://qiita.com/dongri/items/2a0a18e253eb5bf9edba


スポンサーリンク

関連記事

  • IronPythonを使ってUnity上でPythonのコードを実行する
  • Mechanizeで要認証Webサイトをスクレイピング
  • PythonでMayaのShapeノードプラグインを作る
  • OANDAのfxTrade API
  • ZBrushで作った3Dモデルを立体視で確認できるVRアプリを作る
  • チャットツール用bot開発フレームワーク『Hubot』
  • Python拡張モジュールのWindows用インストーラー配布サイト
  • C++の抽象クラス
  • GAN (Generative Adversarial Networks):敵対的生成ネットワーク
  • Google App Engine上のWordPressでFlickrの画像を貼る
  • オープンソースの人体モデリングツール『MakeHuman』のAPI開発プロジェクトがスタート
  • Google製オープンソース機械学習ライブラリ『TensorFlow』のWindows版が公開された
  • Managing Software Requirements: A Unified Approach
  • 科学技術計算向けスクリプト言語『Julia』
  • Polyscope:3Dデータ操作用GUIライブラリ
  • OpenCVで顔のモーフィングを実装する
  • Mask R-CNN:ディープラーニングによる一般物体検出・Instance Segmentatio...
  • OpenCLに対応したオープンソースの物理ベースレンダラ『LuxRender(ルクスレンダー)』
  • iOSで使えるJetpac社の物体認識SDK『DeepBelief』
  • UnityでTweenアニメーションを実装できる3種類の無料Asset
  • Raspberry PiのGPIOを操作するPythonライブラリ『RPi.GPIO』の使い方
  • OpenCVでカメラ画像から自己位置認識 (Visual Odometry)
  • PGGAN:段階的に解像度を上げて学習を進めるGAN
  • 読みやすくて高速なディープラーニングのフレームワーク『Caffe』
  • まだ続くブログの不調
  • OpenMVSのサンプルを動かしてみる
  • OpenVDB:3Dボリュームデータ処理ライブラリ
  • ブログが1日ダウンしてました
  • Amazon EC2ログイン用の秘密鍵を無くした場合の対処方法
  • オープンソースの顔の動作解析ツールキット『OpenFace』
  • NumSharp:C#で使えるNumPyライクな数値計算ライブラリ
  • TensorFlowでCGを微分できる『TensorFlow Graphics』
  • 書籍『仕事ではじめる機械学習』を読みました
  • UnityでOpenCVを使うには?
  • JavaScriptとかWebGLとかCanvasとか
  • OpenCVでPhotoshopのプラグイン開発
  • サンプルコードにも間違いはある?
  • C++ 標準テンプレートライブラリ (STL)
  • 3Dグラフィックスの入門書
  • Math.NET Numerics:Unityで使える数値計算ライブラリ
  • OpenSfM:PythonのStructure from Motionライブラリ
  • WordPressのサーバ引っ越し方法を考える
  • モバイルバージョンを終了