スクレイピングでWebサイトから画像をダウンロードしてみた。プログラミング独学の軌跡プログラミング独学の軌跡ド素人がプログラミングを独学していく記録です。未解決テックアカデミーが初心者向け副業コースを始めました。テックアカデミーで無料メンター相談ができる。CSS初心者が稼ぐならココナラがおすすめ。クラウドワークスは難しい。スクレイピングでWebサイトから画像をダウンロードしてみた。先日ちょうどスクレイピングをする機会があり、この本のとおりにやったらできたのでその事について書いていきます。目次スクレイピングでWebサイトから画像をダウンロードしてみた。Webサイトでスクレイピングが禁止されているか確認する方法。selectメソッドで取得できる上限を設けるには?limitは使える?スクレイピングでWebサイトから画像をダウンロードしてみた。先日あるWebサイトから画像をいくつかダウンロードする機会がありました。そのサイトがこちら↓https://circle-toys.jp/circle-toys.jpこのサイトの人気ランキング1~4位までの画像です。「まてよ、これスクレイピングでできるんじゃね?」と思い、スクレイピングに挑戦してみることに。本にもスクレイピングで画像をダウンロードする方法が載っていたのです。Webサイトでスクレイピングが禁止されているか確認する方法。コードを書きたいところですが、その前に、このWebサイトがスクレイピング禁止してないのかを確認する必要があります。確認方法は、まずこのWebサイトの利用規約(だいたいフッターにある)を開く。CTRL+Fを押して検索ボックスを開く。検索ボックスに「自動」「クローリング」「スクレイピング」「ロボット」などと入力し、ヒットしなければOK。この方法は、こちらのYouTube動画を参考にさせていただきました↓selectメソッドで取得できる上限を設けるには?limitは使える?ではコードを書いていきます。基本的に本に書いてあるとおりのコードでOK。URLを変更して、CSSセレクタを変更して...。このWebページには1~10位まで載っているので、普通にやると1~10位までの画像が取得できてしまいます。欲しいのは1~4位までの画像。「取り出す件数に上限を設けるにはどうすればいいんだろう?」と思い本で調べるとfind_allメソッドの場合はfind_all(タグ名,limit=4)というように第2引数にlimit=4とやれば先頭4件のみ取得できるみたいですが、selectメソッドの場合は書いてません。limit」などとググっても出てきません。selectの場合も使えるんだろう、と思い、試しにselect(セレクタ,limit=4)とやって実行してみると、できました!が一件しか取り出せてない。?よくみてみると、セレクタにnth-child(1)と書いてあります↓これは一番目という意味。HTML/CSSを学習してたのがここで活きました。このnth-child(1)の部分を削除して再度実行してみると、できました!見事に先頭4件の画像がダウンロードできてます!↓しかも自動的に新規作成されたimageフォルダに入ってる↓すげー。俺、プログラマーみたい(笑)どうやらselectメソッドの場合もlimitは使えるみたいですね。time.sleep(1)スクレイピング楽しいですね。難しいですが、何度かやってるうちに覚えてきます。スクレイピング入門」本をやってみた。スクレイピング入門」本が終わりました!ホームPythonプロフィールプロフィール管理人のハルトです。