2016-07-01 16 views
0

Googleシートのスクリプトを作成しようとしていますが、これは完全なJavascriptだと言われています。私は、スプレッドシートのHTMLを解析することで、オンラインゲームのアイテムに関連するクエストのリストを作成しようとしています。Googleスプレッドシートを配列にプッシュする

例:http://everquest.allakhazam.com/db/item.html?item=14295

理想的には、この場合には、それは4クエスト名、それらの位置及び(ソースコードにURL内で発見することができる)クエストIDを横切って持参してください。しかし、私はちょうどその時点でクエストIDを引き出すことを試みています。

function myFunction(itemid) { 

    var regexp = /quest.html\?quest\=(.*)"/; 
    var page = UrlFetchApp.fetch('http://everquest.allakhazam.com/db/item.html?item=' + itemid).getContentText(); 
    var matches = []; 
    var number = page.match(/<li><a href="\/db\/quest.html\?quest\=(.*)"/); 

for (var i in number) { 
    matches.push(number[i]); 
} 

return matches; 
} 

しかし、このスクリプトは「読み込み中」にハングアップしているようで、何もしません。私が 'page.matchの直後に戻り値を追加すると、それは最初のクエストIDを返すので、それは問題を引き起こしている配列にプッシュすることと関連しているようです。

答えて

0

HTMLをテキストとして解析しない方が良いです。あなたはのXPathを使用してデータを取得するためにimportxml機能で数式を使用することができます。

=importxml("http://everquest.allakhazam.com/db/item.html?item=14295";"//div[@id='quest']//b|//div[@id='quest']/ul/li/a|//div[@id='quest']/ul/li/a/@href") 
関連する問題