「画像」の版間の差分

提供:作業療法大百科事典OtWiki
(ページの作成:「==画像収集== スプレッドシートを用いると、画像取得の手間を省略することができる可能性がある。 Google スプレッドシート…」)
 
3行目: 3行目:
スプレッドシートを用いると、画像取得の手間を省略することができる可能性がある。
スプレッドシートを用いると、画像取得の手間を省略することができる可能性がある。


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


ワークシートに、画像を取得したい検索ワードを一括で入力します。例えば、A列に検索ワードを入力します。
スクリプトエディタを開きます。


Google Apps Script を使用して、スプレッドシートと Google Images API を連携します。スクリプトを作成するには、ツールメニューから「スクリプトエディタ」を選択します。
次のスクリプトをコピーして貼り付けます。


スクリプトエディタで、以下のようなスクリプトを作成します。
<nowiki>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列の値を配列に取得


<nowiki>function fetchImages() {
   for (var i = 0; i < keywordData.length; i++) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
     var keyword = keywordData[i][0];
  var data = sheet.getDataRange().getValues();
     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画像検索のページを取得
   for (var i = 0; i < data.length; i++) {
     var html = response.getContentText(); // ページのHTMLコンテンツを取得
     var searchTerm = data[i][0]; // 検索ワードを取得
     var imageUrl = getFirstImageUrl(html); // HTMLから画像URLを取得
     var url = 'https://www.googleapis.com/customsearch/v1?key=YOUR_API_KEY&cx=YOUR_CX&q=' + encodeURIComponent(searchTerm) + '&searchType=image';
     sheet.getRange(startRow + i, 2).setValue(imageUrl); // B列に画像URLを表示
     var response = UrlFetchApp.fetch(url); // Google Images API にリクエストを送信
     sheet.getRange(startRow + i, 3).setValue(searchUrl); // C列に画像URLを表示
     var json = JSON.parse(response.getContentText());
     var imageUrl = json.items[0].link; // API から画像の URL を取得
   
     // 画像の URL をスプレッドシートに書き込み
     sheet.getRange(i + 1, 2).setValue(imageUrl);
   }
   }
}
}
</nowiki>
 
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を返す
  }
}</nowiki>
 
スクリプトを保存して、スクリプトエディタを閉じます。
 
スプレッドシートを再度開き、A列に検索キーワードが含まれている最初の行を指定します。データが含まれる最後の行までの行の数を取得します。
 
ツールバーの「マクロ」をクリックし、「fetchImages」という名前のマクロを実行します。
 
マクロが完了すると、B列には各行の検索キーワードに対応する画像が表示され、C列には各画像のURLが表示されます。

2023年4月20日 (木) 05:12時点における版

画像収集

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

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が表示されます。