Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@koshihikari0607

GASのスクレイピングについて教えていただきたいです

More than 1 year has passed since last update.

プログラミングのスクレイピングについてです。
アプリブンのサイトから、アプリのURL、名前、会社名をスクレイピングしようとしていますが、以下のようなエラーコードがでてしまいます。

どうしたらいいでしょうか?よろしくお願いいたします。

Exception: https://app-liv.jp のリクエストに失敗しました(エラー: 404)。サーバー応答の一部: <!DOCTYPE html>

<met...(応答の全文を見るには muteHttpExceptions オプションを使用してください)(行 35、ファイル「コード」)詳細表示しない

//参照サイトhttp://www.initialsite.com/w01/14311
function scrapSample() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1'); //
var getUrl = 'https://app-liv.jp/business/all/0002/popular/';

//UrlFetchApp.fetch() でトップページのURLへアクセス。getContentText() でトップページのテキストデータが取得
var content = UrlFetchApp.fetch(getUrl).getContentText('UTF-8');

//new RegExp で記事URLの正規表現をitemRegexp として作成します
//class=”applink”/正規表現/g のようにオプションにgを選択して、一致するものを全てをマッチさせるようにしています。
var itemRegexp = new RegExp(//g);

//content のうち、この条件にマッチした部分をitem に配列として格納
var item = content.match(itemRegexp);
var items = [];

//item に格納したURLはaタグやclass名がついたままなのでreplace() でURLの文字列だけにしたものをitemURL へ代入
for (var i = 0; i < item.length; i++) {
var itemURL = item[i]
.replace(' .replace(/"/g,'')
.replace(/class=c-app-card-block>/,'');

//items へpush() して二次元配列として格納します。
items.push([itemURL]);
}

var spanRegexp = new RegExp(/.*?<\/span>/);
var spans = [];

for (var j = 0; j < items.length; j++) {
//UrlFetchApp.fetch() で先ほどitems に格納した記事URLへアクセスし、取得したテキストデータをitemCont へ代入します。

var spanCont = UrlFetchApp.fetch(items[j],).getContentText('UTF-8');
var span = spanCont.match(spanRegexp)[0]
spans.push([span]);

}

//sheet.getRange() で範囲を指定し、setValues() 二次元配列に格納してある記事タイトルと記事URLを書き込みます。
sheet.getRange(2, 1, spans.length, 1).setValues(spans);
sheet.getRange(2, 2, spans.length, 1).setValues(items);
}

0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?