一端の何かになれるか

一生懸命は眩しい

Seleniumでクローリングとスクレイピングを試す python

とにかく試して見るシリーズ第5弾。
前回、BeautifulSoupでスクレイピングを試したが、なんだかあまり活用する場面が思い浮かばんなあと思っていた。
同僚の方が普段使っているということで、手ほどきを受けながら挑戦した。
今回はソースコードの公開を控える(どっちみち酷いコードなのですが...)。

なぜやったのか

やっぱりpythonでできそうなことは試しておきたい。
Web系のデータが驚くほど馴染まなかったので、もっとWebを理解していきたい。

試してみたこと

ある商材のスペックと販売価格を取得する。
手順は下記の通り。
1. メーカー単位の商品一覧ページのURLをクローリングして取得する
2. 各メーカーの商品詳細ページのURLをクローリングして取得する
3. 全てやりたいところだが、1メーカーの全商品に絞ってスクレイピングして、目的のデータを取得する

苦労した処理

  • ページネイションをクリックしながら遷移させる処理
    execute_scriptメソッドで、javascriptを実行する
  • メーカー名、商品名の取得
    置換処理も交えて対処
  • 商品スペックの掲載位置が商品によって異なる
    ロジック組んで回避
  • カラム名称として使用する、ヘッダー行をhtmlから生成
    スクリプトでやる必要は全くないが、pythonでやることにこだわってみた。

感想

  • 収集したデータでクラスタリングして、各メーカーがターゲティングとか分析できないだろうか
  • これを機に、JupyterNotebookから少し離れて、pyスクリプトを書く機会を増やしていきたい
  • 相変わらずhtml,cssの知識、プログラミングスキルが圧倒的に足りないー