{Python}ウェブサイトやブログの画像を保存する(2)

前回の記事で、DLしたい画像の掲載されている個別ページのURLリストを取得しましたが、記事一覧ページの最後を判定する処理がまだ書かれていません。
今回はその条件を考えてみようと思います。

次ページの有無を確認する

前にし取得したデータと一件目の記事名が同じとか、ページ番号が同じとか、判定条件はなんでもいいんですが、
次のページが存在しない場合、以下の画像のようにページネーションの「次へ」ボタン(左の矢印)の表示が消えます。


このボタンの有無で判定するのが定石だし他にも応用が効くと思うので、それでいきます。

では、どこでボタンの有無を判定できるか、chrome developerツールを使って、3ページ目と7ページ目(最終)のページネーション部分のソースを比較しながら探っていきます。
(developerツールは該当するHTML部分が分かりづらいときに便利です。)

3ページ。「data-uranus-component=”paginationNext”」という記述を持つa要素のclassに「skin-paginationNext skin-btnIndex js-paginationNext」と書かれています。

7ページ(最終)。classに「is-disabled」という記述が加えられています。

このclassの値の数で、現在参照しているページが最終ページか否かを判断できることが分かりました。
では前回書いたコードにその記述を追加してみます。

最後のページで処理を終了するようになりました。

次のエントリで個別ページのスクレイピングにはいります。

Leave a Reply

Your email address will not be published. Required fields are marked *