こんにちは。
年末に「某フリマサイトのWebスクレイピング」を作っていたのですが、ここで一旦、参照系機能(出品一覧の取得)について纏めておこうと思います。
■ 動作環境
OS: Windows 8.1(64ビット)
Excel: 2013(32ビット)
Chrome: 86.0.4240.198
Selenium Basic: v2.0.9.0
■ 処理構成(プログラムの流れ)
某フリマサイトにて、自分が出品している商品の一覧を取得して、Excelのシートへ書き出す処理の構成は以下のとおりになります。。。
①シートの初期化
書き出す先のセルの値をクリアします。 (この備忘録の本質とはあまり関係ない処理です^^)
②Chromeブラウザを起動
ログイン画面のコントロールが難しいので、既存プロファイルを活用した自動ログインの実現がポイントでしょうか。
そこがクリアできれば,あとはStartメソッドでChromeブラウザを立ち上げるだけです💦
※これ以降も同様ですが、「m_」で始まる英語大文字の変数名みたいな名称は、何れも私が別途定義している定数です。
③「出品中」一覧の参照
そろそろ私のソースの汚さが露呈してきましたね💦
大まかな処理の流れは次のとおりです。
「出品中」一覧へアクセス
クラス名「(m_LIST_CLASS)」の要素数分だけループ
ループ内では、「イメージ」、「詳細頁URL」、「いいね数」、「コメント数」、「出品ステータス?」を取得し、Excelの各セルへ設定
ここはひたすら各要素の値を取得して、Excelのセルへ設定する…の繰り返しです!
※見慣れない関数について補足しておきます。(何れも自前関数です)
repDummy: 指定文字列(XPath)の特定箇所を、渡された番号に置き換え
④出品商品画面(詳細頁)の参照
ここもひたすら各要素の値を取得して、Excelのセルへ設定する…の繰り返しです!
⑤後処理(インスタンスの開放)
■ 完成品
こんな感じです…(^^)
■ まとめ
いかがでしたでしょうか?
VBA越しでのSelenium利用をだらだら投稿してきましたが、これで一旦締めくくりとします。時間があれば、今度は出品ステータスの変更や出品内容の変更、再出品などの考え方も紹介したいと思います。
なお、本備忘録を活用した【メルカリ管理ツール】を以下サイトで提供しております。
ご興味ございましたらご覧ください。
次回以降も、苦労した点を備忘録しようと思います。
Comments