実現したいこと
ここに実現したいことを箇条書きで書いてください。
前提
gasでサイトのスクレイピングを行い、タイトルなどの要素を抽出したいです。
ライブラリはParseを用いています。
ページが存在している場合はちゃんと回ってくれます。
for文内でiが変わると別のページにアクセスするようになっていますが、アクセス先のページが消えている時にうまく抜け出せないです。
エラーを回避するためにgetResponseCodeが404の時はループを抜け、次のループに入るようにしているのですがうまくいきません。
発生している問題・エラーメッセージ
Exception: Request failed for https://www.ABC.com returned code 404. Truncated server response: <!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" conten... (use muteHttpExceptions option to examine full response)
該当のソースコード
JavaScript
1for(i = 1460004; i <= 1462999; i++){2 const url ="https://www.ABC.com/xxx/"+i;3 var response = UrlFetchApp.fetch(url);4 console.log(response);5 6 // レスポンスコードが 404 の場合、スキップする7 console.log(response.getResponseCode());8 if (response.getResponseCode() == 404) {9 return;10 }else{11 var content = response.getContentText("utf-8");12 var text = Parser.data(content).from('<h1 class="ABC">').to('</h1>').iterate();13 console.log(text) 14 }
試したこと
おそらく、特定のページ(消されているページ)に対してフェッチを行った際に、うまくフェッチができていないのが課題かと思っています。
console.log()でResponseCodeを見ても404が表示されることはないので。

0 コメント