【ラクラク画像収集→保存】04.検索結果ページの画像を自動保存|PythonでWebスクレイピング

オススメ

キノコードでは、Webスクレイピングに関する動画をこれまで3本アップしました。
この動画では、検索結果にあるURLにアクセスして、自動で画像を収集、保存する方法について解説しました。

<Webスクレイピングにおける注意点>
Webスクレイピングは、利用規約違反や法律違反にならないよう必ず確認をしてから行ってください。
Webスクレイピングは非常に便利です。人の手ではできないことをやってくれ業務効率化が図れます。
ただし、他社システムへWebスクレイピングをする場合は、十二分の注意が必要です。
使い方によっては損害賠償請求などをされる可能性、偽計業務妨害罪の可能性もあります。
業務に他社システムへWebスクレイピングを取り入れるのであれば自己責任では済まないので、上長やIT部や法務部などに確認、相談しましょう。
また、自社システムであってもサーバーへ負荷がかからないように注意し、不安であれば上長やIT部へ相談をしましょう。

▼目次
00:00 はじめに
01:50 前回までの復習〜検索ワードの結果ページのURLを取得
03:00 前回の復習〜検索結果URLから結果ページのリンク先の情報を取得(URL、タイトル、説明文)
05:20 URLのリストにアクセスして画像ファイルのリンク先を取得
06:59 画像ファイルのリンク先からファイル名を取得
10:48 画像ファイルのURLにアクセスして画像ファイルを一気に保存
12:24 保存した画像ファイルの数を確認
13:08 おわりに

▼関連動画
<Pythonで面倒な「ブラウザ操作」や「データ収集」の作業を自動化しよう|Webスクレイピングのやり方をわかりやすく解説>

Pythonで面倒な「ブラウザ操作」や「データ収集」の作業を自動化しよう|Webスクレイピングの基本的な内容をわかりやすく解説|PythonでWebスクレイピング第01回

<PythonでWebスクレイピング|複数ページに記載があるリンク先URLを取得する方法をわかりやすく解説>

【1000ページあっても取得可能!】複数ページに記載があるリンク先URLを取得する方法|PythonでWebスクレイピング第02回

<ラクしてデータ収集|キーワード検索した結果ページのデータ取得する方法>

【ラクしてデータ収集】キーワード検索した結果ページのデータ取得する方法|PythonでWebスクレイピング第03回

<Python超入門講座>

【Python超入門コース】01.コース紹介|初心者にわかりやすいようなコースを作りました【プログラミング初心者向け入門講座】

<Pandas超入門講座>

Pandas入門|01.コース紹介|Excelやcsv操作、データ分析、グラフ化などができるPythonのライブラリの使い方を初心者向けに解説【プログラミング初心者向け】

▼自己紹介
現在:フリーランス
前職:リクルート

▼SNS
Twitter : https://twitter.com/kino_code/likes
Facebook : https://www.facebook.com/%E3%82%AD%E3%83%8E%E3%82%B3%E3%83%BC%E3%83%89-105693727500005/
Website : https://kino-code.com/

▼書き起こし
“`python
from bs4 import BeautifulSoup
import requests
import pandas as pd
import time
“`

では、ライブラリをインポートしていきます。
bs4のパッケージの中にあるBeautifulSoupを読み込みます。
BeautifulSoupは、複雑なHTMLの構造を解析し、必要な部分を取り出すことができるライブラリです。
HTTP接続するために、requestsをインポートします。
requestsはPythonの標準のurllibモジュールよりもシンプルに実装でき、APIに関する機能も備わっています。
データ整形のためにPandasもインポートします。 
さらに、HTTPに接続した後、すぐに次の処理が実行されないようにするためtimeをインポートします。
実行します。
インポートが完了しました。

“`python
keyword = ‘Python’
url = ‘https://kino-code.work/?s=’.format(keyword)
r = requests.get(url)
time.sleep(3)

soup = BeautifulSoup(r.text, ‘html.parser’)
page_na = soup.find(class_ = ‘pagination’)
page_num = page_na.find_all(class_ = ‘page-numbers’)

pages = []
for i in page_num:
pages.append(i.text)

urls = []

if not pages:
urls = [‘https://kino-code.com/?s=’.format(keyword)]
else:
last_page = int(pages[-2])

for i in range(1, last_page + 1):
url = ‘https://kino-code.work/?s=’.format(keyword) + ‘&paged={}’.format(i)
urls.append(url)

urls
“`

[‘https://kino-code.work/?s=Python&paged=1’,
‘https://kino-code.work/?s=Python&paged=2’,
‘https://kino-code.work/?s=Python&paged=3’]

前回のレッスンで書いたソースコードです。
Pythonで検索しました。
検索結果のページのURLが取得できていますね。
(書き起こしブログに続く)

▼書き起こしブログ
(準備中)

#Pythonでスクレイピング #Python自動化 #PythonでRPA #Pythonできること

コメント

  1. LUCKY より:

    スクレイピングって、機械学習のデータ集めに使えますよね?

  2. TBS 10 より:

    BeautifulSoupあるある
    Google翻訳かけると「美しいスープ」と訳される

タイトルとURLをコピーしました