質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CasperJS

CasperJSはJavaScriptで実装されたPhantomJSのユーティリティで UIテスト向けのJavaScript フレームワークです。

Q&A

解決済

1回答

1848閲覧

スクレイピング casperjs

kometaroimo

総合スコア76

CasperJS

CasperJSはJavaScriptで実装されたPhantomJSのユーティリティで UIテスト向けのJavaScript フレームワークです。

0グッド

0クリップ

投稿2017/05/01 06:14

経緯、やりたい事
社内のポータルサイトが使いにくく作業量が多いので改善したい。
各利用者がほしい出力を元にAPIを実装しようとしたが頓挫した(予算etc..)
腹がたったので取りあえずローカルで欲しい情報だけ抜き取るプログラムを作り中。。←いまここです。

環境
windows7(64bit)
casperjs 11.0
phantomjs 2.1.1

やった事
webサイトでごにょごにょ調べながら取りあえずプロトちっくなものを作成。
社内でredmineを利用していたので試しにやってみたら出来たので、同じ事を
社内ポータルに向けてやっている。。ができない。。。

以下、urlだけマスクしたコードです。

1| casper.start('http://www.hoge.co.jp/', function() { 2| 3| var NewsArrays = this.evaluate(function() { 4| var Nodes = document.querySelectorAll('body > span'); 5| return Array.prototype.map.call(Nodes, function(element) { 6| return element.innerHTML; 7| }); 8| }); 9| require('utils').dump(NewsArrays); 10|}); 11|casper.run();

で、↑をプロンプトから実行すると

[]

のみ。。

で、ここでどん詰まりを食らっています。
どういうアプローチをしていいのかすら検討がつかず困っています。

4行目のquerySelectorAll()の引数はどのサイトも#始まりなので、#をつけてみたりもしてみたのですが。。

そもそもquerySelectorAll()じゃ無理だよ、、とか「あーあるある」っていう事象でしたら
キーワードだけでも結構ですのでご教示ください。
また、前提の情報が不足しているようでしたらあわせてご指摘をお願いいたします。

(※セレクタはchromeの「右クリック -> 検証 -> copyselecter 」を利用しておりHTMLを解析したわけではありません。)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

ifreamだったので

右クリック -> 検証 -> copyselecter

では、駄目だってことだと理解しました。。

フレームで組まれていないログイン画面からはエレメント要素が取れている事が確認できましたのでいったんクローズいたします。

投稿2017/05/01 08:19

kometaroimo

総合スコア76

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問