質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.01%

GAS ウェブサイトのURLの画像を取得したい

受付中

回答 0

投稿

  • 評価
  • クリップ 1
  • VIEW 139
退会済みユーザー

退会済みユーザー

WEBサイト内の画像を取得し、Google Driveに保存をしたいです。

スプレッドシートのA1にURLを記載しています。
エラー表示は出ないのですが、画像が取得できません。

原因がわからず、有識者の方、ご教示いただきたくお願いいたします。

function downloadImages() {

  // 今開いているシートの取得
  var sheet = SpreadsheetApp.getActiveSheet();

  // A列にURL
  range = sheet.getRange("A1:A");

  // 画像URLが入力されている最後の行数を取得
  var row = sheet.getLastRow();
    for (i = 0; i < row; i++) {

  // シートから1行ずつ画像URLを取得
  var url = range.getCell(1,1).getValue();

  // 画像データ取得
  var response = UrlFetchApp.fetch(url);
  var fileBlob = response.getBlob().setName("scraping");

  // 取得した画像をDriveにアップ
  var file = DriveApp.createFile(fileBlob);

  // 画像フォルダ
  var folders = DriveApp.getFoldersByName("画像フォルダ");
  while(folders.hasNext()) {
  var folder = folders.next();
  if(folder.getName() == "画像フォルダ"){
  break;
      }
    }


  }
}
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • papinianus

    2019/08/13 07:24

    ぱっと見できそうなのですが、実行トランスクリプトを開示可能ですか。

    キャンセル

  • 退会済みユーザー

    退会済みユーザー

    2019/08/13 11:47

    ありがとうございます。
    実行トランスクリプトは以下となります。

    [19-08-13 11:45:27:616 JST] 実行を開始しています
    [19-08-13 11:45:27:728 JST] SpreadsheetApp.getActiveSheet() [0.077 秒]
    [19-08-13 11:45:27:729 JST] Sheet.getRange([A1:A]) [0 秒]
    [19-08-13 11:45:27:826 JST] Sheet.getLastRow() [0.096 秒]
    [19-08-13 11:45:27:826 JST] Range.getCell([1, 1]) [0 秒]
    [19-08-13 11:45:27:923 JST] Range.getValue() [0.096 秒]
    [19-08-13 11:45:28:373 JST] UrlFetchApp.fetch([https://www.************::]) [0.448 秒]
    [19-08-13 11:45:28:374 JST] HTTPResponse.getBlob() [0 秒]
    [19-08-13 11:45:28:374 JST] Blob.setName([scraping]) [0 秒]
    [19-08-13 11:45:28:376 JST] Blob.getName() [0 秒]
    [19-08-13 11:45:28:376 JST] Blob.getContentType() [0 秒]
    [19-08-13 11:45:29:280 JST] DriveApp.createFile([Blob]) [0.905 秒]
    [19-08-13 11:45:29:281 JST] DriveApp.getFoldersByName([画像フォルダ]) [0 秒]
    [19-08-13 11:45:29:501 JST] FolderIterator.hasNext() [0.219 秒]
    [19-08-13 11:45:29:502 JST] FolderIterator.next() [0 秒]
    [19-08-13 11:45:29:503 JST] Folder.getName() [0 秒]
    [19-08-13 11:45:29:549 JST] 実行が無事終了しました(合計ランタイム 1.854 秒)

    キャンセル

  • papinianus

    2019/08/13 17:08

    > [19-08-13 11:45:29:280 JST] DriveApp.createFile([Blob]) [0.905 秒]
    できてる気がするのですが。
    今のところ、画像が思ったものではない(まっしろ)とかの可能性はありますが、ファイルができていない、は否定的なように思います。
    どう思ったとおりになっていないのか補足を質問に追記していただけませんか?

    キャンセル

  • 退会済みユーザー

    退会済みユーザー

    2019/08/15 19:20

    大変失礼いたしました。

    いろいろと確認をしてみましたところ、画像フォルダではなく、マイドライブにGoogleドキュメントができていました。
    ドキュメントを開くと、ウェブページの文章と写真が表示されています。
    写真がワードに張り付けられたような状態です。

    私としましては、このwebページ内の画像だけをフォルダ内に保存したいです。

    キャンセル

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.01%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる