今、Laravelでこのページに沿ってWebスクレイピングを実行しようとしています。
具体的には、amazonのデジタル1眼の売れ筋ランキングのタイトルと画像をスクレイピングするというものです。
実際に、手順通りに進めると、上手くスクレイピングすることはできたのですが、上記ページ内「データの取得方法」でカメラのタイトルを取得するときに、クラス名として「.p13n-sc-truncate」を指定していました。
そこで、実際にamazonのデジタル1眼の売れ筋ランキングで検証(画像1)を使って、商品タイトルのクラスを調べてみると、クラス名は「p13n-sc-truncate-mobile-type p13n-sc-truncate-desktop-type2 p13n-sc-truncated」となっていました。ここでは、クラスが3つあり、そのうち「p13n-sc-truncated」を指定することで、スクレイピングをしたのかな?と思ったのですが、実際にスクレイピングしたときに指定したクラス名は上記の通り「.p13n-sc-truncate」でした。つまり最後の「d」が抜けているクラス名を指定したということになります。
そこで、クラス名が部分的に一致すればそのクラスを取得できるのかと思い「p13n-sc-truncat」(1文字減らした)でスクレイピングすると、商品タイトルを取得できませんでした。
次に、検証の画像1の右側にある検索画面に「p13n-sc-truncate」を入力すると、(画像1黄色の部分)には「p13n-sc-truncated」ではなく「.p13n-sc-truncate」と表記されていました。以下にその表記を記述します。
.p13n-sc-truncate, .p13n-sc-truncate-desktop-type1, .p13n-sc-truncate-desktop-type2, .p13n-sc-truncate-medium, .p13n-sc-truncate-small
結論としましては、スクレイピングの際に、正しくクラス名を指定する方法を教えていただきたいです。よろしくお願いします。