タグ「スクレイピング」での検索

ヘッドレスブラウザ(phantomJS, slimerJS )でWEBサイトをスクレイピングする

ヘッドレスブラウザ

● phantomJS

WebKit(Safari) ベースのヘッドレス(画面なし)ブラウザ

・phantomJSのインストール方法(Mac)

brew install phantomjs

・phantomJSのインストール方法(CentOS7)

yum -y install freetype
yum -y install fontconfig
npm install -g phantomjs

● slimerJS

Gecko(firefox) ベースのヘッドレス(画面なし)ブラウザ

・slimerJSのインストール方法(Mac)

brew install slimerjs

・slimerJSのインストール方法(CentOS7)

npm install -g slimerjs

● casperJS

ヘッドレスブラウザを簡単に扱うライブラリ(JavaScript)です。 このcasperJSから「phantomJS」または「slimerJS」を操作します。

・casperJSのインストール方法(Mac)

brew install casperjs

・casperJSのインストール方法(CentOS7)

yum -y install freetype
yum -y install fontconfig
npm install -g casperjs

● casperJSからブラウザを操作して画面のスクリーンショットを撮る

```
var AnchorArrays = [];
var casper = require('casper').create();
casper.start('http://flatsystems.net/kakunin.php', function() {
});
casper.then(function() {
    this.capture('kakunin.png');
});
casper.run();
```

###● casperJSからphantomJSで起動する
```
casperjs  test.js
```

###● casperJSからslimerJSで起動する
```
casperjs  --engine=slimerjs test.js
```
slimerJSで起動するときは ```--engine=slimerjs``` を追加します。


###● casperJSコードを実際のブラウザソースから生成する Chrome拡張機能
#####・Resurrectio
https://chrome.google.com/webstore/detail/resurrectio/kicncbplfjgjlliddogifpohdhkbjogm

No.1067
12/17 23:31

edit

スクレイピング
xpath
slimerjs
phantomjs

node.jsのスクレイピングモジュール

● cheerio-httpcli

>Node.jsでWEBページのスクレイピングを行う際に必要となる文字コードの変換と、cheerioによってパースしたHTMLをjQueryのように操作できるHTTPクライアントモジュールです。

特徴 : `文字コード自動変換,jqueryライクなセレクタ,フォーム簡易送信機能`

https://www.npmjs.com/package/cheerio-httpcli

・インストール

npm install cheerio-httpcli

● osmosis

>HTML/XML parser and web scraper for NodeJS.

特徴 : `xpathで要素の取得が可能 ,Aタグのリンクを自動的に辿れる`

https://www.npmjs.com/package/osmosis
マニュアル : https://github.com/rchipka/node-osmosis/wiki

・インストール

npm install osmosis

・スクレイピング例

【osmosis node.js】で検索した結果のリンクURLをスクレイピングします。

var osmosis = require('osmosis');
var url     =  'https://www.google.co.jp/search?client=safari&rls=en&q=osmosis&ie=UTF-8&oe=UTF-8&gfe_rd=cr&ei=JXMyWLv2NOjC8AernaPYAg#q=osmosis+node.js';
osmosis
.get(url)
.paginate("//*[@id='pnnext']",3)    // 最大 3ページ目まで
.set({
    'link_url'  :  ["//*[@id='rso']//h3/a/@href"] ,
    'link_title':  ["//*[@id='rso']//h3/a"] ,
})
.then(function( context, data){
    // console.log(context.request);
    console.log(data);
})
.done(function(){
    console.log("=================================\nscrape done.\n");
});

その他のスクレイピングモジュール : http://blog.webkid.io/nodejs-scraping-libraries/

No.1051
11/21 13:25

edit

xpath
スクレイピング