google-apps-script
  • google-spreadsheet
  • 2017-06-15 21 views 0 likes 
    0

    Googleシートを使用して1日に1回ウェブサイトからデータをスクラップし、スクリプトでサイドに保存しようとしています。私はこれに新たなんだので、私はこれは私がウェブサイトからデータをこすりするために使用しているものです...それは仕事を得るように見えることはできません。importXMLとスクリプトを使用してウェブサイトからスクラップしたデータを保存する

    =importxml("https://www.reddit.com/top/", "//div [@data-rank='1']") 
    

    それから私は、どこかで、結果を保存したいです。 ..私はappendrowと思う?しかし、それは私にエラーを与え続け、私はそれを修正する方法を知らない。私のスクリプトはこれまでのように見えますが(エラーはあります):

    function addData() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    sheet.appendRow(['=importXML("https://www.reddit.com/top/", "//div [@data-rank='1']")']); 
    } 
    

    また、データが抽出された日付を追加したいと思います。

    答えて

    0

    これを試してください。それを実行するために毎日のタイムトリガを設定することができます。スクリプトエディタで、編集メニューに移動します。現在のプロジェクトトリガをクリックします。アーカイブのための新しいトリガを追加します。タイムドトリガー、毎日、実行して保存する時間を選択します。

    function Archive() { 
        var ss = SpreadsheetApp.getActiveSpreadsheet(); 
        var s1=ss.getSheetByName("Sheet1")//sheet with imported data 
        var s2=ss.getSheetByName("Sheet2")//archive sheet 
        var lr=s2.getLastRow()+1//get last row of archive sheet + 1 
        var data=s1.getRange(2,1,1,4).getValues()//get sheet 1 values 
        s2.getRange(lr,1,1,1).setValue(new Date())//create date and set in 
        s2.getRange(lr, 2, 1, 4).setValues(data)//set copy of data 
    } 
    
    +0

    ありがとうございます!私はちょうどsheet1のデータと一致するようにgetRangeを調整しました – Andrew

    関連する問題