画像

提供:作業療法大百科事典OtWiki
2023年4月20日 (木) 05:12時点におけるOtfighter (トーク | 投稿記録)による版 (→‎画像収集)

画像収集

スプレッドシートを用いると、画像取得の手間を省略することができる可能性がある。

Googleスプレッドシートを使用して、各行のA列にある検索キーワードに応じて、B列に画像を表示し、C列に画像URLを表示する方法を以下に示します。

スクリプトエディタを開きます。

次のスクリプトをコピーして貼り付けます。

function fetchImages() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2; // A列に検索キーワードが含まれている最初の行を指定
  var numRows = sheet.getLastRow() - 1; // 行の数を取得
  var dataRange = sheet.getRange(startRow, 1, numRows, 1); // A列の範囲を取得
  var keywordData = dataRange.getValues(); // A列の値を配列に取得

  for (var i = 0; i < keywordData.length; i++) {
    var keyword = keywordData[i][0];
    var searchUrl = 'https://www.google.com/search?q=' + keyword + '&tbm=isch&tbo=u&source=univ&sa=X&ved=0ahUKEwi7sO2I1MnxAhULyDgGHQa_Cj8QsAQILA&biw=1366&bih=657';
    var response = UrlFetchApp.fetch(searchUrl); // Google画像検索のページを取得
    var html = response.getContentText(); // ページのHTMLコンテンツを取得
    var imageUrl = getFirstImageUrl(html); // HTMLから画像URLを取得
    sheet.getRange(startRow + i, 2).setValue(imageUrl); // B列に画像URLを表示
    sheet.getRange(startRow + i, 3).setValue(searchUrl); // C列に画像URLを表示
  }
}

function getFirstImageUrl(html) {
  var regex = /"ou":"([^"]+)"/; // 画像URLを取得する正規表現
  var match = regex.exec(html); // 正規表現を使用してHTMLから最初の画像URLを取得
  if (match) {
    return match[1]; // 画像URLを返す
  } else {
    return null; // 画像URLが見つからない場合はnullを返す
  }
}

スクリプトを保存して、スクリプトエディタを閉じます。

スプレッドシートを再度開き、A列に検索キーワードが含まれている最初の行を指定します。データが含まれる最後の行までの行の数を取得します。

ツールバーの「マクロ」をクリックし、「fetchImages」という名前のマクロを実行します。

マクロが完了すると、B列には各行の検索キーワードに対応する画像が表示され、C列には各画像のURLが表示されます。