【Pythonスクレイピング】seleniumを使ってwordpressにアクセス。タイトルごとに記事文字数を取得する

pythonのスクレイピングをちょこっと勉強しました。

身近なことで活用しようと思い、今回は自分が書いているこのブログの、各記事の文字数を取得して、文字数とPVないしは広告収入に相関があるか調べてみたいと思います。

というわけで、seleniumを使ってデータを収集してみたいと思います。

 

どこのデータを取得するか?

欲しいデータは

①記事タイトル

②記事の文字数

の2つです。

記事タイトルに関しては、投稿一覧ページ(公開済みに絞る)から取得します。

記事の文字数に関しては、各記事の執筆ページの下のほうのものを用います。

 

 

コードはこうなりました

書いたプログラムを貼っておきます。

 

ざっくりメモ書きと感想

・import time することでtime.sleep()で数秒任意に動きを止めることができます。(要素が表示されるまでMAX〇秒まつ、なんて設定できたらかっこよいのですが、ちょこっと調べて分からず、、。implicitly_waitでよいのでしょうか?)

・ログイン→記事一覧ページへ遷移→「ページ上のタイトルをtitlesリストに入れる+各記事に遷移して文字数を取得してwordsリストに入れる」処理を7ページ分繰り返す という流れ

・記事一覧ページは7ページ分ありました、2ページ目、3ページ目へ遷移するのには、URLの末尾の”paged=1”に着目して、ループを回しました

・find_elementとfind_elementsの使い分けが大事でした

 

おわり