nightmare.js を使って Qiita の人気の投稿 の href一覧 を取得する
nightmare.js
一覧を取得する
サンプルをちょっと変えて
.evaluate(function () { return document.querySelector('#main .searchCenterMiddle li a').href })
querySelector
を querySelectorAll
に変えてやればOKでしょとか思ったのになぜか return が null になって困った・・・
javascriptはあまり良くわからないし・・・
.evaluate(function () { return document.querySelectorAll('.popularItem_articleTitle_text').href })
ぐぐってみると以下の記事がヒットしたので少し書き直してみたらうまく行った
.evaluate(function(){ return Array.from(document.querySelectorAll(".popularItem_articleTitle_text"), e => {return e.href;}) })
コード
var Nightmare = require('nightmare'); var nightmare = Nightmare({ show: true }) var qiita_popular_item = 'http://qiita.com/popular-items'; nightmare .goto(qiita_popular_item) .evaluate(function(){ return Array.from(document.querySelectorAll(".popularItem_articleTitle_text"), e => {return e.href;}) }) .end() .then(function (result) { console.log('result', result) }) .catch(function (error) { console.error('Search failed:', error); });
初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発
- 作者: Ethan Brown,武舎広幸,武舎るみ
- 出版社/メーカー: オライリージャパン
- 発売日: 2017/01/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る