適当にプログラムを書く。World");}}クラスの横に実行マークが付いているのクリックする。ダイアログが出て来るのでRunをクリックする。ビルドが始まり、実行される。実行結果は、画面下のRunのウィンドウに表示される。Structure」のアイコンをクリックし、ダイアログを開く。Maven...をクリックする。コマンドライン引数のパーサをするライブラリargs4jを入れてみます。開いたダイアログでargs4jを検索します。テキストボックスにargs4jを入れて、虫眼鏡アイコンをクリックする。いろんなバージョンが表示されますが、新しいバージョンを選んで、OKをクリックする。Modulesダイアログで1つだけGradleSampleと出てくるので、OKをクリックする。Dependenciesタブにargs4jのライブラリが入っていることを確認する。args4jを使ってみる上記手順でライブラリを使えるようになったので使ってみます。{e.printStackTrace();}}}コマンドラインで-fオプションを指定すれば、フィールドhogeに入ります。Configurationsのダイアログを開きます。arguments」に「-f」の後、文字列を入れます。実行すると、オプションに指定した文字列が表示されます。Chromeの起動コメントをどうぞTweetChrome59からheadlessで起動できると話題なので試しました。Google公式に詳しく記載されています。cliで起動とかはうまくいったのですが、LighthouseのChromeLauncherを使おうとするとエラーが発生しました。(bootstrap_node.js:146:9)Lighthouseが2.0から変わったようです。上記のエラーではないのですが、似たようなIssueがありました。内容を抜粋すると下記のようにすると起動できます。{});requireするファイル、起動用の関数やオプションの指定の仕方も変わったようです。サンプルのGitHubです。Learningを5章まで読んだのでメモ書き。GoogleDocsのスライドで作成。随時追加していきます。macchan-devnode.jsでMySQLを使うコメントをどうぞTweetnode.jsでMySQLを使う場合、ググるといっぱい出てきます。クラスメソッドのブログQiitaの記事npmにMySQLのライブラリがありますので、それを使用します。MySQLのnpmREADMEによると下記のように使用します。mysql接続情報とクエリーの実行createConnection関数でMySQLのホスト名、ユーザー名、パスワードなどを定義し、query関数でSQLを実行、コールバック関数で結果を受け取ります。実際には、接続情報は1箇所に記述したいですし、コネクションプールも使いたいかなと。下記サイトが参考になりました。Express一部抜粋します。state.pool}本番用、テスト用のモードを指定し、使用するデータベースを分けています。createPool関数でコネクションプールを使うようになっています。CasperJSでスクレイピングしましたが、node.jsからは使用できなかったので、node.jsから使用できるSpookyJSでスクレピングしてみました。SpookyJS公式SpookyJSはnode.jsからCasperJSを起動するようにしたライブラリです。casperjsコマンドを内部で実行しているようです。簡単なサンプルを作りました。SpookyJSのインストールCasperJS、PhantomJSのインストールも必要です。SpookyJS自体はnpmでインストールできます。spookySpookyJSでスクレイピングする処理を書くgoogleで”スクレイピング”を検索し、結果を表示します。終了spooky.destroy();});spooky.then内で定義している関数がPhantomJS内で実行されるJavaScriptになります。‘load’イベントを作成し、その引数にCSSセレクタで指定した要素からhref属性を取得し、そのhrefを返します。spooky.on(‘load’・・・で定義したところでイベントを受信します。この動作自体はCasperJSと同じですが、SpookyJSなら受け取った値をmysqlのライブラリを使ってDBへ登録など、node.jsのライブラリをも使うことができます。CasperJSのwaitTimeoutやstepTimeoutも指定することができるので、Ajaxのページでも値が取ることができます。macchan-devスクレイピング-CasperJS編-コメントをどうぞTweet目的CasperJSを使ってスクレイピングしてみます。CasperJS公式CasperJSは、PhantomJSを使いやすくラッピングしたJavaScriptです。最初は、node.jsのライブラリと思ってましたが、使ってみたらそうではなく、casperjsというコマンドで実行します。そのためnode.jsの他のライブラリを使うことはできませんでした。CasperJS、PhantomJSのインストール最初はPhantomJSからインストールします。PhantomJSのダウンロードページ各OS毎にバイナリが用意されています。X版をダウンロードし、zipを展開します。展開するとバイナリが出てきますので、適当にパスが通ったところに置きます。/usr/local/次にCasperJSをインストールします。npmで簡単にインストールできます。そのページに対して行いたい処理を記述する。今回は検索結果のdiv(id=ires)下のタイトル(class=r)のaタグを取得する。そのページに対して行いたい処理を記述する。今回は検索結果のdiv(id=ires)下のタイトル(class=r)のaタグを取得する。実行casper.run();CasperJSの実行casperjsコマンドで実行します。casperjs_sample.js下記のようにログ出力されました。/url?q=https://ja.wikipedia.org/wiki/%25E3%2582%25A6%25E3%2582%25A7%25E3%2583%2596%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AC%25E3%2582%25A4%25E3%2583%2594%25E3%2583%25B3%25E3%2582%25B0&sa=U&ved=0ahUKEwjH7s223I3SAhUMbbwKHWkWAroQFggYMAE&usg=AFQjCNHZAORThLyskf3nDxY9SlIMZY3Mvg/url?q=https://ja.wikipedia.org/wiki/%25E3%2582%25A6%25E3%2582%25A7%25E3%2583%2596%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AC%25E3%2582%25A4%25E3%2583%2594%25E3%2583%25B3%25E3%2582%25B0&sa=U&ved=0ahUKEwjH7s223I3SAhUMbbwKHWkWAroQFggcMAI&usg=AFQjCNHZAORThLyskf3nDxY9SlIMZY3Mvg期待するものは、httpsから始まるURLですが、最初に”/url?q=”という文字がついています。ユーザエージェントの指定で結果が変わるようです。CasperJSのデフォルトのユーザエージェントは下記のものでした。Safari/538.1ユーザエージェントをChromeのものに変えると期待するURLを得ることができました。Safari/537.36”);スクレピングするならbotらしいユーザエージェントが良いのだと思います。検索:最近の投稿GCE上にワードプレスを移行しましたサイトを移行しました。IDEAでGradleのJavaプロジェクトを始める最近のコメントサイトを移行しました。Safariでdivのdatasetを249回ループすると値がundefinedになる。