
前提
GoogleAppsScriptでサイトのデータを取得しスプレッドシートに入れたいと思っています。
Parserを利用しています。
実現したいこと
- 取得した文字列を変数に入れたい
発生している問題・エラーメッセージ
問題の個所を取得しようとすると時間がかかりタイムアウトしてしまいます。 問題とみられる個所 let MODnote = Parser.data(contentText).from('<div class="character">').to('</div>').build(); エラーメッセージ 関数の実行がタイムアウトしました。デバッグを続行するには、デバッガを再起動してください。
該当のソースコード
GoogleAppsScript
1function myFunction() { 2 3//シートを取得 4const sheet = SpreadsheetApp.getActiveSheet(); 5 6 console.log(sheet.getName()); 7 8//最終行を取得 9 const lastRow = sheet.getLastRow(); 10 11//セルのURLを取得 12 const URLlist = sheet.getRange(8,3,lastRow-8).getValues(); 13 14//配列を作成 15let menu = []; 16 17 18URLlist.forEach(function(value,index){ 19 20 let recipesList = Scraping(value,index); 21 console.log(recipesList); 22 23 }) 24 25} 26 27function Scraping(url,index) { 28 29 console.log(url); 30 31 const contentText = UrlFetchApp.fetch(url).getContentText('utf-8'); 32 33 try{ 34 35 let MODTitle = Parser.data(contentText).from('</span>').to('<small>').build().replace(" ",''); 36 37 let MODnote = Parser.data(contentText).from('<div class="character">').to('</div>').build(); 38 39 return [MODTitle,MODnote]; 40 41}catch (e) { 42 43 console.log((index+1)+"回目の処理でエラーになりました"); 44 45 } 46 47}
試したこと
[gas parser]等のキーワードで30件程度調べましたが解決できませんでした。
from to の取得する場所を変更した所、短い文章であれば取得できました。
多少長くなると途端に取得できなくなります。
試したことというより考えていることなのですが、
改行・空行を含めた複数の文章を取得するのが無理なのでしょうか。
補足情報(FW/ツールのバージョンなど)
ブラウザ
クローム(バージョン: 108.0.5359.125(Official Build) (64 ビット))
プログラムの参考にしたサイト
https://tetsuooo.net/gas/592/
取得したいサイト
https://rimworld.2game.info/detail.php?id=708455313
取得したい文章
すでに作成した部屋などの構造を設計図化(Blueprints)し迅速な建築計画が可能となります。
使用方法
アーキテクトメニューの設計図から新規作成を選び、設計図化したい既存の構造物をドラッグで選択します。設計図の名前を入力しOKを押すと、その名前で設計図が作成されます。
次回、同様の構造物を建築する際は、アーキテクトの設計図から作成された設計図を選択する事で迅速に建築計画が立てられるようになります。
作成済みの設計図はE、Qで回転させる事が可能です。
作成に必要な総資源コストも表示されます。
又、設計図を右クリックする事でリネーム、削除、書き出しが可能です。
書き出した設計図はセーブデータが保存されているディレクトリと同様の箇所にBlueprintsというフォルダにXMLで書き出されます。これらは新規作成ボタンを右クリックする事で読み込む事が可能な為、セーブ間でも使用可能です。又、ディレクトリのファイルを保存しておけば再インストールした際にも使用できます。
※セーブ間で使用し、MODオブジェクトなどで利用できない項目が存在している場合、エラーがポップし問題のあるオブジェクトが設計図から削除されます。



回答1件
あなたの回答
tips
プレビュー