そこで、警報や注意報などをNode.jsでWebスクレイピングし、必要な情報を取得してみました。
Node.jsでscraperjsやCrawler、cheerio-httpcliを使ってWebスクレイピングしました。
1 PaizaCloudを使ってToDoリストの作成
まずはウォーミングアップです。面倒な環境設定をしなくても良いのが「PaizaCloud」の良いところです。
登録し、新規サーバーの作成をするのですが、「Node.js」「MongoDB」にクリックし、次に進みます。
「Node.js入門 - 初心者向け、はじめてのNode.js入門」を見ながら進めます。
2 scraperjsを使ってNode.jsでWebスクレイピング
気象庁のホームページから、まずはタイトル「指定河川洪水予報」をスクレイピングしてみます。必要なライブラリをインストール
scrape.jsファイル
結果
つぎに、同じ気象庁のホームページから「指定河川洪水予報」の表をスクレイピングします。
scrape.jsファイル
scraperjs.StaticScraper.create('https://www.jma.go.jp/jp/flood/')
.scrape(($) => {
return $('.tablelist').text();
}).then((tablelist) => {
console.log(tablelist);
}).catch((error) => {
console.error('Error:', error);
});
ターミナルで
node scrape.js
結果
3 Crawlerを使ってNode.jsでWebスクレイピング
こんどは、日本気象協会のホームページから雨の多い三重県の警報・注意報をスクレイピングしてみます。必要なライブラリをインストール
scrape.jsファイル
const Crawler = require('crawler');
const crawler = new Crawler({
callback : (error, res, done) => {
if(error){
console.log(error);
} else {
const $ = res.$;
console.log($('.map-warn-first-entries-table').text());
}
done();
}
});
crawler.queue('https://tenki.jp/bousai/warn/5/27/');
ターミナルで
node scrape.js
結果
4 cheerio-httpcliを使ってNode.jsでWebスクレイピング
さいごに、「鉄道コム」のサイトから、関東エリアの鉄道遅延情報をスクレイピングしてみます。必要なライブラリをインストール
scrape.jsファイル
const client = require('cheerio-httpcli');
var word = '公式情報あり';
client.fetch('https://www.tetsudo.com/traffic/category/%E9%96%A2%E6%9D%B1%E3%82%A8%E3%83%AA%E3%82%A2/', { q: word })
.then((result) => {
console.log(result.$('.main-table').text());
result.$('a').each(function (idx) {
var $h3text = result.$(this).find('h3').text();
var $url = result.$(this).attr('href');
if ($h3text.includes('slp-kbit')) {
console.log($h3text + ' ' + $url);
}
});
})
.catch((err) => {
console.log(err);
})
.finally(() => {
console.log('終了');
});
ターミナルで
node scrape.js
結果
参照サイト
- Node.jsでウェブスクレイピングする色々な方法
- Node.jsでスクレイピング(cheerio-httpcli)
- node.jsでスクレイピングしてみる/バシャログ
- Node.jsでスクレイピングするならこれが本命(たぶん)
- Node.jsのスクレイピングモジュールcheerio-httpcliがとても便利/開発チームのブログ
- Node.jsでcheerio-httpcliを使ってWebページをスクレイピングする/情報アイランド
- Scrape The World With Node js
- The Ultimate Guide to Web Scraping with Node.js
- BUILD A WEB SCRAPER WITH NODE
0 件のコメント:
コメントを投稿