「画像」の版間の差分
提供:作業療法大百科事典OtWiki
(ページの作成:「==画像収集== スプレッドシートを用いると、画像取得の手間を省略することができる可能性がある。 Google スプレッドシート…」) |
(→画像収集) |
||
3行目: | 3行目: | ||
スプレッドシートを用いると、画像取得の手間を省略することができる可能性がある。 | スプレッドシートを用いると、画像取得の手間を省略することができる可能性がある。 | ||
Googleスプレッドシートを使用して、各行のA列にある検索キーワードに応じて、B列に画像を表示し、C列に画像URLを表示する方法を以下に示します。 | |||
スクリプトエディタを開きます。 | |||
次のスクリプトをコピーして貼り付けます。 | |||
<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列の値を配列に取得 | |||
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画像検索のページを取得 | |||
for (var i = 0; i < | var html = response.getContentText(); // ページのHTMLコンテンツを取得 | ||
var | var imageUrl = getFirstImageUrl(html); // HTMLから画像URLを取得 | ||
var | sheet.getRange(startRow + i, 2).setValue(imageUrl); // B列に画像URLを表示 | ||
var response = UrlFetchApp.fetch( | sheet.getRange(startRow + i, 3).setValue(searchUrl); // C列に画像URLを表示 | ||
var | |||
var imageUrl = | |||
// | |||
sheet.getRange(i | |||
} | } | ||
} | } | ||
</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が表示されます。