並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 228件

新着順 人気順

CasperJSの検索結果1 - 40 件 / 228件

  • PythonでWebスクレイピングする時の知見をまとめておく - Stimulator

    - はじめに - 最近はWebスクレイピングにお熱である。 趣味の機械学習のデータセット集めに利用したり、自身のカードの情報や各アカウントの支払い状況をスクレイピングしてスプレッドシートで管理したりしている。 最近この手の記事は多くあるものの「~してみた」から抜けた記事が見当たらないので、大規模に処理する場合も含めた大きめの記事として知見をまとめておく。 追記 2018/03/05: 大きな内容なのでここに追記します。 github.com phantomJSについての記載が記事内でありますが、phantomJSのメンテナが止めたニュースが記憶に新しいですが、上記issueにて正式にこれ以上バージョンアップされないとの通達。 記事内でも推奨していますがheadless Chrome等を使う方が良さそうです。 - アジェンダ - 主に以下のような話をします。 - はじめに - - アジェンダ

      PythonでWebスクレイピングする時の知見をまとめておく - Stimulator
    • 2017年のフロントエンドエンジニアならこの程度は知ってて当然だよな? - Qiita

      って海の向こうの人が言ってました。 私はjQueryさえあれば概ね生きていけるので全然知らないけど、 あなたは全部知ってるフロントエンドエンジニアなんだね。すごーい! 以下はFront-End Developer Handbook 2017の第三部、Front-end Developer Toolsからリンクされているツールと、その簡単な紹介です。 ドキュメントツール Dash 150以上のライブラリのAPIリファレンスを検索できる。有料、Mac専用。 DevDocs 200以上のライブラリをオンラインで検索できる。無料。 Velocity 中身はDashと同じ。 有料、Windows専用。 Zeal 200以上略 無料のオフラインドキュメント。 SEOツール Keyword Tool 検索ワードを入れると関連キーワードを教えてくれる。 Google Webmasters Search C

        2017年のフロントエンドエンジニアならこの程度は知ってて当然だよな? - Qiita
      • 2018年のフロントエンドエンジニアならこの程度は知ってて当然だよな? - Qiita

        可及的速やかにReactが絶滅しますように。 以下はFront-End Developer Handbook 2018の第三部、Front-end Developer Toolsからリンクされているツールと、その簡単な紹介です。 ドキュメントツール 開発者向けドキュメント、APIリファレンス Dash 200以上のAPIリファレンス、100以上のチートシートを一括ダウンロードできる。有料、Mac用。 DevDocs 200以上のライブラリをオンラインで検索できる。無料。 Velocity 中身はDashと同じ。有料、Windows用。 Zeal Windows、Linux、MacOS用各種揃っている無料のオフラインドキュメント。 チートシート devhints.io JavaScript、CSS、Go、vim等のショートカット、書式などチートシート。字が薄くて見辛い。 SEOツール Key

          2018年のフロントエンドエンジニアならこの程度は知ってて当然だよな? - Qiita
        • まだmechanizeで消耗してるの? WebDriverで銀行をスクレイピング(ProtractorとWebdriverIOを例に) - 詩と創作・思索のひろば

          今日はスクレイピングの話をします。 今回のターゲットは三菱東京UFJダイレクト。金融機関もウェブサービスを提供するようになり、金にまつわる情報を電子化しやすくなりましたが、かれらが API を提供しているわけではないので、私たちのほうで取得・加工をしてやる必要があります。今やウェブサイトであれば当然のように JavaScript を使っているわけなので、いわゆる mechanize、つまり HTML の解釈をおこない、リンクのクリックやフォームの送信をシンプルに実装するようなやり方でのスクレイピングはすでに無理筋だといえます。 もちろん今日においてはブラウザオートメーションという方法がすでにありますので、これを利用してやれば、なんの憂いもなく実際に人間が使うようなブラウザをプログラマティックに操作することができます。現在は Selenium WebDriver がデファクトで、これが使用す

            まだmechanizeで消耗してるの? WebDriverで銀行をスクレイピング(ProtractorとWebdriverIOを例に) - 詩と創作・思索のひろば
          • 第1回Webスクレイピング勉強会@東京 (全3回) - Qiita

            official connpass 「Webスクレイピングの基礎知識」(@nezuq) SlideShare 3つの壁を突破する 倫理 情報解析目的なら合法と解析と解釈(文化庁のQAに肯定的記述) 常識的な範囲でのアクセス障害なら過失と言える。(国立国会図書館の場合、1秒以上あけてスクレイピングなら可能) 技術 最低限でもHTMLの知識 事例(どう使うか) データジャーナリズム(データからストーリーを見つけ提供する。NHKでやってる) Data Journalism Handbook(大義がある) 「オープンデータのためのスクレイピング 〜抽出・共有・分析まで〜」(@ito_nao) SlideShare プログラミング不要でスクレイピング出来るwebサービスのご紹介 Tabula PDFからデータを抽出するツール kimono paginationが得意。 構造化されたクローリングは苦手

              第1回Webスクレイピング勉強会@東京 (全3回) - Qiita
            • Webページを監視して表示崩れが起きていないか検出できるE2Eテストを実装しました | Recruit Tech Blog

              お世話になります、フロントエンド担当をしている小原正大です。Webページの表示を監視して差異があった場合、どのページで表示の変化が起きているかを知ることが出来るプログラムを実装したのでそのことについて書こうと思います。 何につかったの? 僕がフロントエンドを担当しているサービス『料理サプリ』で大規模なフロントエンドコードのリファクタリング行う際に表示テストを自動化するために作成しました。『料理サプリ』はPC・スマホ合わせて大体350-400ページの表示パターンが存在する比較的規模の大きいサイトです。全ページに影響を与えるような作業は大規模な回収となり、今回のリファクタリングでは表示テストの計画などの段取りが必要でした。従来の人手によるQAでは細かいバグを見過ごしたり時間がかかり効率が悪いので、可能な限り自動化しようと考え実装しました。 実装の概要 この監視のシステムは以下の2つ実装を組合わ

                Webページを監視して表示崩れが起きていないか検出できるE2Eテストを実装しました | Recruit Tech Blog
              • クローラー/スクレイピング本がざくざく - プログラマでありたい

                2015年8月末に、クローラー/スクレイピング本が2冊同時に発売です。Python版メインのものとJavaScript版メインのものです。なかなか市場のニーズ突いてきていますね。 実践 Webスクレイピング&クローリング-オープンデータ時代の収集・整形テクニック 作者: nezuq,東京スクラッパー(協力)出版社/メーカー: マイナビ発売日: 2015/08/28メディア: 単行本(ソフトカバー)この商品を含むブログを見るJS+Node.jsによるWebクローラー/ネットエージェント開発テクニック 作者: クジラ飛行机出版社/メーカー: ソシム発売日: 2015/08/31メディア: 単行本この商品を含むブログを見る 実践 Webスクレイピング&クローリング-オープンデータ時代の収集・整形テクニック 実践 Webスクレイピング&クローリング-オープンデータ時代の収集・整形テクニックは、Py

                  クローラー/スクレイピング本がざくざく - プログラマでありたい
                • 「Jenkins ユーザ・カンファレンス 2015 東京」 において 「はてなにおける継続的デプロイメントの現状と Docker の導入」 という発表を行いました - Hatena Developer Blog

                  アプリケーションエンジニアの id:nobuoka です。 現在は 「少年ジャンプルーキー」 の開発に携わっています。 面白い漫画作品が数多く集まっておりますので、是非ご覧ください! さて、去る 1 月 11 日に 「Jenkins ユーザ・カンファレンス 2015 東京」 が開催されました。 はてなからも 「はてなにおける継続的デプロイメントの現状と Docker の導入」 というタイトルでセッション発表を行いました。 ここに発表資料を公開します。 発表資料 はてなにおける継続的デプロイメントの現状と Docker の導入 from Yu Nobuoka 概要 内容としては次の 3 点です。 はてな全体のサービス開発と Jenkins についての概要 「少年ジャンプルーキー」 の開発プロセスと Jenkins の活用 開発中の機能を確認するための web アプリケーションを Docker

                    「Jenkins ユーザ・カンファレンス 2015 東京」 において 「はてなにおける継続的デプロイメントの現状と Docker の導入」 という発表を行いました - Hatena Developer Blog
                  • 世界のJavaScriptを読もう @ 2014

                    世界のJavaScriptを読もう @ 2014 ^目的: ウェブの世界は絶対変化するもの 変化する前提の行動が求める それをどうやって見ていくか、それを知ってどうするか ^ JavaScriptやブラウザ周りのリリースの状況はウェブの変化にあわせるように変化してきている。 どのように変化してきたか知り、どうやって変化を見ていくのか、そしてわたしたちはどう変化していくのかを考えよう。 アジェンダ 世界のJavaScriptを読もう @ 2012 の続編的なものです ブラウザやJavaScriptのリリースは変化してきている 私たちはどのように変化を知り見ていくのか そして私たちはどのように変化していくのか [fit] 世界のJavaScriptを見る話 [fit] JSer.info 開始 2011年〜 ^ JSer.infoを始めた2011年を一つの基準として考えて、 そこからブラウザや

                    • モダンなJSライブラリのディレクトリ構成まとめ - CODESCRIBBLE

                      JavaScriptのプロジェクトを新しく作るにあたってディレクトリ構成をどうするか悩んだので、オープンソースのライブラリなどを参考にすることに。ということで、モダンなJavaScriptライブラリ・フレームワークのディレクトリ構成をまとめてみました。 モダンと言ってはいますが、全然モダンじゃないライブラリも混ざってるかもしれないです。 jQuery jquery ├── build │   └── lib ├── speed ├── src │   ├── ajax │   └── sizzle └── test ├── data │   ├── offset │   ├── selector │   └── support ├── qunit └── unit jQuery Mobile jquery-mobile ├── build ├── css │   ├── structure

                        モダンなJSライブラリのディレクトリ構成まとめ - CODESCRIBBLE
                      • Casper.JSのススメ - After Coding

                        2013-08-17 Casper.JSのススメ Phantom.JSというヘッドレスブラウザがある。 これが超便利なんだけど、セッション周りとか込み入った操作をしようと思うと途端に操作(JSファイルへの記述)が面倒になる。 そこで、Casper.JSの出番だ。 CasperはPhantomと連携するライブラリで、簡単な記述で複雑な操作を実現することができる。 また、Phantomのレンダリングエンジンはwebkitで、Gekkoで動いているSlimer.JSってのもあって、これらの上で動くCasperを使っているとレンダリングどっちも使えるので捗る(と思う)。 今回はEnd-to-Endテストの実現を目的に、Casper.JSでwebサイトのHTMLを解析してみる。 もちろん、スクレイピングなどにも応用可能だ。 ↑ヨルムンガンドに出てくる主人公(ココ・ヘクマティアル)の兄キ

                        • Awesome JavaScript : 素晴らしい JavaScript ライブラリ・リソースの数々 - Qiita

                          元記事: Awesome JavaScript Awesome List in Qiita Awesome Ruby Awesome Java Awesome Node.js Awesome Python Awesome Go Awesome Selenium Awesome Appium パッケージマネージャ JavaScript ライブラリをホストし, それらを取得してパッケージ化するためのツールを提供します npm - npm は JavaScript のためのパッケージマネージャです. Bower - Web のためのパッケージマネージャ. component - より良い Web アプリケーションを構築するためのクライアントパッケージマネージャ. spm - 新しい静的パッケージマネージャ. jam - RequireJS のレポジトリと互換性があり, ブラウザーに焦点を当てたパ

                            Awesome JavaScript : 素晴らしい JavaScript ライブラリ・リソースの数々 - Qiita
                          • Awesome Selenium : 素晴しい Selenium ライブラリの数々 - Qiita

                            元記事: Awesome Selenium Awesome List in Qiita Awesome Ruby Awesome Java Awesome JavaScript Awesome Node.js Awesome Python Awesome Go Awesome Appium Tools JavaScript selenium-webdriver - Selenium プロジェクトの公式 WebDriver バインディング. WD - WebDriver/Selenium 2 の node.js クライアント. WebdriverIO - WebDriver に 50 以上のアクションを追加したより良い実装. CasperJS - オープンソースナビゲーションスクリプティング & テスティングユーティリティ. Zombie.js - めちゃくちゃ早い, ヘッドレスフルスタック

                              Awesome Selenium : 素晴しい Selenium ライブラリの数々 - Qiita
                            • テスタブルJavaScript

                              最重要テーマは「テストに適したコードの作成と保守」。本書は複数のアプローチで、テストに適したコードに迫ります。まず複雑さについて考察し、続いて複雑さや結合を軽減できるようなアーキテクチャを検討します。これを基盤として、機能レベルとアプリケーションレベルでのテストについての解説に進みます。カバレッジやデバッグについて十分な知識を得て、最後に自動化に関する解説で本書は締めくくられます。最後まで読めば、テストに適したJavaScriptの本質と実践について漏れのない理解を得られるでしょう。著者がYahoo!やGoogleで培ったテストや品質管理についてのノウハウをJavaScriptに適用したWeb開発者必携の一冊。 まえがき 1章 テストに適した JavaScript 1.1 今までの手法 1.1.1 アジャイル開発 1.1.2 テスト駆動型開発 1.1.3 ビヘイビア駆動型開発 1.1.4 

                                テスタブルJavaScript
                              • CasperJSで気軽にJSのテストできる - hitode909の日記

                                ウェブアプリケーションのJSのテストするのにCasperJS使ったら便利だった. CasperJSはPhantomJSにテスト用ユーティリティがついて便利になったやつ. JS,MVCできれいに書いてると,Modelの単体テストとかできるけど,昔ながらの感じだと,ここをクリックしたらこれが表示されること,みたいなテストを書くことになる.けどライブラリとかいろいろあってどれを使えばよいか分からなくて敷居が高い.CasperJSを使ったらこれだけで完結してテスト書ける. PhantomJSは単なるブラウザだけど,CasperJSはテストのフレームワークとか,DOMのテスト関数とかがついてる. 非同期なタスクの実行の仕組みも入ってて,casper.thenっていうのを順番に書いていくと,順番に呼んでくれて,click()して,casper.thenしたら,ページ遷移したら次のページに移動してる.ス

                                  CasperJSで気軽にJSのテストできる - hitode909の日記
                                • Mac初期構築メモ 2014 - 僕のYak Shavingは終わらない

                                  初期設定 トラックパッド 大体有効に ドック サイズは小さく 拡大にチェックを入れて中くらいに ミッションコントロール ホットコーナー 左上…アプリケーションウィンドウ 左下…Mission Control 右下ディスプレイをスリープさせる キーボード キーボードタブ F1, F2などのすべてのキー〜って書いてある部分をチェック 修飾キーからCaps LockをControlに変更 ショートカットタブ Spotlight検索フィールドを表示は⌘スペースに変更 入力ソースの前の入力ソースを選択は^スペースに変更 アクセシビリティ ズーム機能をオン スクロールジェスチャと修飾キーを使ってズームにチェックを入れ⌘に設定 アプリケーション Chrome ブックマーク同期、複数ユーザー設定しているとすぐに環境ができて便利 Slack チームとのチャット Skype いろんな人とチャット Astro

                                    Mac初期構築メモ 2014 - 僕のYak Shavingは終わらない
                                  • ChatPadでの会話は簡単に盗聴される - 海峡

                                    2013-12-20 ChatPadでの会話は簡単に覗き見られる この記事はKMCアドベントカレンダーの20日目の記事です。 ChatPadというチャットサービスを知ってますか? ChatPadは匿名でランダムな誰かと一対一でチャットができることが特徴で、暇な女子高生や性欲を持て余したおっさんなどに人気のチャットサービスです。 ChatPad|1クリックで始まる!見知らぬ誰かとのチャットサービス いつも通りネカマ活動にシコシコ勤しんでいたところ、ChatPadにおける会話が盗聴されることに気づいたので、この記事ではそのことについて紹介します。 いかにして主婦は盗み聞きをするか 簡潔に言うと、ChatPadでは中間者攻撃により他ユーザー同士の会話を盗聴することが可能です。 中間者攻撃という言葉に馴染みがない人も、二本の電話の受話器をひっくり返して組み合わせることを考えてみてください(ちょうど

                                      ChatPadでの会話は簡単に盗聴される - 海峡
                                    • SlimerJS

                                      A scriptable browser for Web developers Download SlimerJS 1.0 All operating systems - Version 1.0.0 Compatible with CasperJS 1.1 Release notes Slimerjs is only compatible with Firefox 59. Higher version of Firefox will not be supported because developments on SlimerJS have ceased since 2018. See FAQ > Opening a webpage, > Clicking on links, > Modifying the content... SlimerJS is useful to do funct

                                      • JavaScriptレンダリングサーバーSplashでスクレイピング - orangain flavor

                                        これはクローラー/Webスクレイピング Advent Calendar 2015の9日目の記事です。 本記事では、Scrapinghub社*1が開発しているSplashというオープンソースソフトウェアを紹介します。 github.com JavaScriptを使ったページからスクレイピングする方法としては、PhantomJSとSelenium/CasperJSなどの組み合わせが一般的ですが、これらとは少し違う手段として使えるかもしれないソフトウェアです。 私自身Splashを最近知ったばかりで、軽く探した限りでは日本語の情報もないので、調査しつつSplashの使いドコロを探ってみたいと思います。 Splashとは READMEには以下のように書かれています。 Splash is a javascript rendering service with an HTTP API. It's a

                                          JavaScriptレンダリングサーバーSplashでスクレイピング - orangain flavor
                                        • ログインが必要なページでもサクサクっとスクレイピングしちゃう「CasperJS」 | astronaughts.net

                                          Titanium 以外のこと書くの久しぶり ども、最近 Titanium mobile と同じ釜の飯を食った仲レベルの仲良しっぷりを発揮している、ボクです。そんなボクですが先日初仕事となる ChatWork のバージョンアップ版がリリースされました。いやはや、めでたい。 なのでいろいろ Titanium mobile について書きたいことがわんさかあるんですが、ここはちょっと寝かせておいて敢えて別の思考で行きたいと思います。 JavaScript でスクレイピングできちゃう超ハイカラなやつ iOS アプリ作ってて TestFlight 使ってるんですが API が用意されてなくてわざわざ Web サイトにログを見に行かないといけなく、なんかイイ方法ないかなと思ってスクレイピングを考えていたんですが、その中でこいつと出会いました。 CasperJS - http://casperjs.org

                                          • Frontred vol.4に参加してきました | STUDIO KINGDOM

                                            サイバーエージェントさんが主催するフロントエンド向けの勉強会「Frontrend vol.4」に参加してきました。 前回のvol.3に引き続きの参加で、今回のテーマは「javaScript」でした。 この記事では個人的にピックアップしたい内容だけを紹介しています。全体を通した内容は下記リンク先が非常に参考になります。 Frontrend/04 – Toggeter Frontrend Vol.4に行って来ましたメモ – < /gecko > 「JavaScript Development Tools – JavaScript開発の効率アップ」 Crhrome Developer Tools まずはChromeのデベロッパーツールですが、同じくサイバーエージェントの吉川さんが既に発表(下記スライド)されていたので、それをふまえつつ、おさらい+追加情報的な感じ。 Chrome DevTool

                                            • 続・Casper.JSのススメ - After Coding

                                              2013-09-12 続・Casper.JSのススメ 前回;Casper.JSのススメCasperJSで受け入れテスト書くかって話になったので、チームの皆さんにおはなしした。 ↓少し削っているのでちぐはぐな気がする。 Casper導入資料 from Yuuki Tan-nai あとは口頭での説明だったので、その内容をざっくりまとめる。①casperjsコマンド $ casperjs test test/suite/ --direct --log-level=debug --fail-fast --pre=test/common/casper_pre.coffee --includes=test/common/casper_inc.coffee --xunit=log.xml testサブコマンドが必要。オプションは以下のとおり。 --pre: 全ファイルの実行前に一度だけ実行されるスク

                                              • PhantomJS と CasperJS で複数ページを一括キャプチャする | Tips Note by TAM

                                                Web 制作をしているとページの表示確認やコンポーネントの洗い出しなどで、大量にキャプチャを撮ってきたい時があります。 しかしブラウザのエクステンションで1枚ずつ撮るのも面倒です。 そこで PhantomJS と CasperJS を使うとキャプチャを自動化することができるということなので、先達たちの情報を参考に、キャプチャしたいURLと想定するデバイスを CSV で管理して、楽にキャプチャがとれるものを作成しました。 PhantomJS と CasperJS とは PhantomJS ですが、グラフィカルな画面のないブラウザで「ヘッドレスブラウザ」と呼ばれるブラウザです。コマンドラインからブラウザの機能を使うことができ、フォームの操作やページの要素を取得することができます。よく CI ツールと組み合わせて自動テストを行ったり Web スクレイピングで使われたりします。 PhantomJS

                                                  PhantomJS と CasperJS で複数ページを一括キャプチャする | Tips Note by TAM
                                                • クローラー構築の際に気をつけたいこと - Qiita

                                                  この記事は CAMPHOR- Advent Calender 2015 延長戦、29日目の記事です。 今回はスクレイピングについてです。スクレイピングのやり方なんかは他にたくさん記事が上がっているのでそういうのはやめて、昔クローラーとしてたくさんのサイトを継続的にスクレイピングして回っていた(google botかな?)ときに経験したことについて書いていこうかなと思っています。これからクローラーを構築しようとしている方の参考になればと。 DOS攻撃をしない 基本ですね。スクレイピングをするときはサーバーへの負荷も考えて、あまり一度にたくさんのリクエストを送らないようにしましょう。 サイトのリニューアルを検知 webサイトは時として何の前触れもなくリニューアルがされて全く違う構造になることがあります。ECサイトなんかは企業の買収や合併も激しく、リニューアルも頻繁に行われることでしょう。イケイ

                                                    クローラー構築の際に気をつけたいこと - Qiita
                                                  • Rustでブラウザを操作する「rust-headless-chrome」を試してみた | DevelopersIO

                                                    こんにちは。MAD事業部のきんじょーです。 最近Rustの入門書を読んだので、何かに使ってみようと模索していました。 その中で、Rustでヘッドレスブラウザを動かすライブラリを検証したのでこの記事にまとめます。 ヘッドレスブラウザとは ヘッドレスブラウザはGUIを持たないWebブラウザです。 一般的なブラウザと同じく、HTMLを解析しJavaScriptを実行できますが、GUIを持たないため、CLIやプログラム上から操作を行います。 主に以下のような用途で用いられます。 WebアプリケーションのE2Eテストの自動化 Webページのスクリーンショット取得 JavaScriptの自動テスト Webページで行うワークフロー処理の自動化 Webページのクローリング 古くはPhantomJSやCasperJSなどを用いていましたが、現在では主要なブラウザもネイティブでヘッドレスモードを搭載しています

                                                      Rustでブラウザを操作する「rust-headless-chrome」を試してみた | DevelopersIO
                                                    • 最新アドテク×Java script実践活用術

                                                      2. Hitokuse Inc.© 自己紹介 2 長尾 俊 株式会社ヒトクセ 最高技術責任者 (Co-Founder / CTO) 東京大学大学院情報理工学系研究科 修士 IPA未踏クリエータ 得意領域 C, C++, C#, Objective-C,JAVA, PHP,Ruby,Python,HTML,CSS,JS,Flash,Lisp,VB,SQL,lua… Web, スマートフォンアプリ, 機械工作, マイコン, 音声信号処理, CG, 機械学習… 略歴 2011.4 東京大学工学部 機械情報工学科学士 2011  東大アントレプレナー道場7期 準優勝、その他ビジコン多数受賞 2012.4 株式会社ヒトクセ設立 Co-Founder CTO就任 2012  IPA未踏クリエータ 2012  SIGGRAPHでの学会発表 2013.4 東京大学大学院 情報理工学系研究科電子情報工学科 

                                                        最新アドテク×Java script実践活用術
                                                      • PuppeteerでヘッドレスChromeを操ってみる - Qiita

                                                        Puppeteerのnode apiを使ったサンプルプログラムを作り、ヘッドレスChromeを操作してみましたので報告します。 先日、Google Chromeにヘッドレス機能が追加されました。GUI無しにコマンドラインからChromeを操作できるようになったわけです。 https://developers.google.com/web/updates/2017/04/headless-chrome?hl=ja ちょっと前まではnodeからこのヘッドレスChromeへアクセスするにはchrome-remote-interfaceなどが必要でしたが、最近Puppeteerというものが現れてもっと簡単にヘッドレスChromeを操作できるようになりました。 https://github.com/GoogleChrome/puppeteer 公式サイトにあるPuppeteerの使い方 スクリーンシ

                                                          PuppeteerでヘッドレスChromeを操ってみる - Qiita
                                                        • AWS Lambda+PhantomJS/CasperJSでスクレイピング - プログラマでありたい

                                                          AWS Lambdaはサーバ不要のプログラムの実行エンジンです。インフラ側はAWSが管理するのですが、実行原理が解っていると思いの外に自由度が高いです。Shellやコマンドを同梱させれば動くし、依存するライブラリがなければAmazon Linux上でビルドして同梱させれば良いのです。その実例の1つに、Lambda+PhantomJSがあります。PhantomJSは、ブラウザ不要で画面描画ができるツールです。リンクのクリックやボタンの押下・フォームに入力も出来るので、ログインが必要なページの情報を取ってくるということやスクリーンショットを取るといったことも可能です。LambdaとPhantomJSを組み合わせてお手軽スクレイピングをしてみましょう。 プロジェクトの用意 Github上にビルド済みのライブラリ込のプロジェクト(phantom-lambda-template)があるので、それを使

                                                            AWS Lambda+PhantomJS/CasperJSでスクレイピング - プログラマでありたい
                                                          • 「Webスクレイピングとは何ぞや?」という疑問が浮かんできたので調べてみた。 - おしブロ(おしい県でWebに携わって働く人のブログ)

                                                            最近よく聞く、、、わけではありませんが、なんとなく自分の中で「Webスクレイピング」について知りたくなったので、ググったりして調べてみました。 「Webスクレイピング」とは Webスクレイピングとは、WebサイトからWebページのHTMLデータを収集して、特定のデータを抽出、整形し直すことである。Webスクレイピングを行うことで、Webページを対象として、あたかもWeb APIを利用しているかのようにデータを効率的に取得・収集することが可能になる。用途の例としては、部分的にコンテンツを取り出して携帯電話向けのコンテンツを生成したり、小見出しの一覧を生成したり、といった使い方あある。Webスクレイピングは様々な手段で実現可能であるが、PHPやPerlといったスクリプト言語を使用して行われることが多い。なお「スクレイピング」(scraping)とは元々「削る」や「こすり落とす」といった意味の英

                                                              「Webスクレイピングとは何ぞや?」という疑問が浮かんできたので調べてみた。 - おしブロ(おしい県でWebに携わって働く人のブログ)
                                                            • casperjsのテストをUI操作で作成する。 - Qiita

                                                              概要 CasperJSのテストをUI操作で生成してくれるChromeプラグイン github プラグイン 感想 簡単にテストを作成できる。 ちゃんと使うなら、これで大枠のテスト作成して手動で修正が良いかも。 Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

                                                                casperjsのテストをUI操作で作成する。 - Qiita
                                                              • React入れたらCasperJSのE2Eテスト壊れたのでPhantomJS2入れたらPhantomJSのユニットテスト壊れたのでwebdriverioでE2Eテスト書き直した話 - マルシテイア

                                                                これまで VanillaJS / jQuery で頑張ってたプロジェクトに React 入れて、Reactは最高!などと言っていたのだけど、E2Eテストが落ちている事に気づいた。 落ちたテストで画面キャプチャしたりして調べた結果、Reactコンポーネントを描画するところで落ちていた。 どうやらPhantomJS1系で見られる現象のようだった。 e2e - CasperJS で Reactjs のサイトをテスト - Qiita E2EテストにはCasperJSを使っていた。 Casper の dependencies は "phantomjs": ">=1.8.2" となっている。 PhantomJS の謎な挙動にはユニットテストでも散々苦しめられていた。 既に polyfill 幾つか入れて対処していたのだけど、良い機会なので別の道を模索してみよう、という話になった。 頑張ってPhanto

                                                                  React入れたらCasperJSのE2Eテスト壊れたのでPhantomJS2入れたらPhantomJSのユニットテスト壊れたのでwebdriverioでE2Eテスト書き直した話 - マルシテイア
                                                                • mixi Engineers' JavaScript Advent Calendar 2012をやりました - mixi engineer blog

                                                                  はじめまして、課金・プレミアムユニットの尾関です。 イブはクリスマスイベントのありそうなアプリ、ゲームを起動してイベントを回収するという神聖な行いをしていました。 さて、今日は皆さんに「mixi Engineers' JavaScript Advent Calendar 2012」というイベントをご紹介するため、初めてエンジニアブログを書きます。 「mixi Engineers' JavaScript Advent Calendar 2012」はその名の通り、ミクシィのエンジニア24人が12/1~12/24までの毎日、JavaScriptやそれに近い何かについてエントリを書いていくというイベントでした。 執筆者は全員がJavaScript委員会という、JavaScriptが大好きな人達が集う会に所属しています。 このAdvent Calendarをやることになったきっかけは、だんだんと委員

                                                                    mixi Engineers' JavaScript Advent Calendar 2012をやりました - mixi engineer blog
                                                                  • PhantomJS のラッパー Nightmare を試してみる - Qiita

                                                                    var Nightmare = require('nightmare'); new Nightmare() .goto('http://yahoo.com') .type('input[title="Search"]', 'github nightmare') .click('.searchsubmit') .screenshot('yahoo.png') .run(); var casper = require('casper').create(); casper.start('http://google.fr/', function() { this.fill('form[action="/search"]', { q: 'casperjs' }, true); }); casper.then(function() { this.capture('google.png'); }); c

                                                                      PhantomJS のラッパー Nightmare を試してみる - Qiita
                                                                    • GulpとGraphicsMagickでPDFを差分比較する。マルチページ・マルチファイル対応 - Qiita

                                                                      gulpとGraphicsMagickによるPDFの差分比較 DTPの校正を重ねる過程でしでかすと怒られるのが、「修正指示されていない部分で意図しない変更が発生してしまう」こと。特に大量のデータの入ったカタログのようなものを作る際、こちら側の作業ミスで大事な部分に間違い(たとえば電話番号や商品の価格など)のあるデータを入稿して何万部も刷ってしまうと、損害賠償問題にも発展してしまうかもしれない…。 意図しない変更が起こっていないかをチェックするには、修正を行う度に、古いバージョンと新しいバージョンで機械的な差分チェックをするのが一番だと思う。 やりたいこと 前のバージョンのPDFと新しいバージョンのPDFを用意し、画像の差分比較をしたい PDFは複数ページで、印刷入稿を前提とした仕様になっているとする 一度に複数ファイルの比較をしたい 上記を自動処理したい 難しそうなので、新旧でページの入れ

                                                                        GulpとGraphicsMagickでPDFを差分比較する。マルチページ・マルチファイル対応 - Qiita
                                                                      • PhantomJS でネットワークのデバッグと SSL handshake failed

                                                                        PhantomJS で itunes の url に接続しようとするとエラーになり、デバッグしたいので方法を調べた話。 まず、SSL の通信なので、別のプロセスから tcpdump などで通信をキャプチャすることは難しい。 方法の一つとして、--debug=yes というコマンドラインオプションを渡すと、詳細なログをだしてくれるようだ。(ドキュメント には載っていないオプションだった) $ phantomjs --debug=yes crawl.js 2014-11-01T15:53:28 [DEBUG] CookieJar - Created but will not store cookies (use option '--cookies-file=' to enable persisten cookie storage) 2014-11-01T15:53:28 [DEBUG] Pha

                                                                          PhantomJS でネットワークのデバッグと SSL handshake failed
                                                                        • PhantomCSSでViewの回帰テスト - Qiita

                                                                          https://github.com/Huddle/PhantomCSS (画像は本家より) PhantomCSSはJavaScriptでViewの回帰テストができるフレームワーク。上の画像のように異なっている部分をピンク色で表示してくれる。 今回、OSはMacを想定しているが、Windowsとかでも使えるみたい。 準備 使用するためにはPhantomJSとCasperJSが必要なのでインストール。

                                                                            PhantomCSSでViewの回帰テスト - Qiita
                                                                          • PhantomJSのリモートデバッギング的なアレ

                                                                            Remote Debugging Remote debugging permits inspection of the script and web page via another WebKit-based browser (Safari and Chrome). Troubleshooting · ariya/phantomjs Wiki PhantomJSにおける地獄のconsoleデバッグよりも、場合によってはマシかもしれないリモートデバッグのメモ。 phantomjs --remote-debugger-port=9000 test.js --remote-debugger-port オプションで、ポート番号を指定するとリモートデバッガにアクセスできる。上記の例であれば、http://localhost:9000 で開ける。 手順 --remote-debugger-port:9

                                                                              PhantomJSのリモートデバッギング的なアレ
                                                                            • Automating CSS Regression Testing | CSS-Tricks

                                                                              DigitalOcean provides cloud products for every stage of your journey. Get started with $200 in free credit! The following is a guest post by Garris Shipon. We’ve touched on the four types of CSS testing here before. Regression testing is the hardest. It’s the type where you’re trying to test if a change you made to CSS resulted in any unexpected visual problems. This is made more difficult with re

                                                                                Automating CSS Regression Testing | CSS-Tricks
                                                                              • Awesome JavaScript : 素晴らしい JavaScript ライブラリ・リソースの数々 - Qiita

                                                                                元記事: Awesome JavaScript Awesome List in Qiita Awesome Ruby Awesome Java Awesome Node.js Awesome Python Awesome Go Awesome Selenium Awesome Appium パッケージマネージャ JavaScript ライブラリをホストし, それらを取得してパッケージ化するためのツールを提供します npm - npm は JavaScript のためのパッケージマネージャです. Bower - Web のためのパッケージマネージャ. component - より良い Web アプリケーションを構築するためのクライアントパッケージマネージャ. spm - 新しい静的パッケージマネージャ. jam - RequireJS のレポジトリと互換性があり, ブラウザーに焦点を当てたパ

                                                                                  Awesome JavaScript : 素晴らしい JavaScript ライブラリ・リソースの数々 - Qiita
                                                                                • JavaScriptのテスト環境の参考URLメモ(2015-03時点) - msakamoto-sfのはてなブログ

                                                                                  2015-03-30 JavaScriptのテスト環境の参考URLメモ(2015-03時点) JavaScript TDD JavaScriptのテスト環境、テストライブラリってどうなってるのか、参考URLをまとめてみました。 結論:ライブラリが数種類あり、それぞれがどこのレイヤーをカバーするのか異なる。そのため、組み合わせはもとより出力形式、CI環境との連携、なにをどこまでテストするのか、開発者のスキル、アプリケーションのライフサイクルなど多数のパラメータのバランシングが必要となる。ライフサイクルの短い使い捨てなら、バランシングのためのコストも無視して「えいやっ」で決めても良いが、そもそもテスト環境の整備が必要なプロジェクトであれば、ライフサイクルもそれなりの規模が想定される。技術者の自己満足や、流行り廃りに焦って拙速な判断を下さないよう厳重な注意が必要とされるだろう。数年後、流行り廃り

                                                                                    JavaScriptのテスト環境の参考URLメモ(2015-03時点) - msakamoto-sfのはてなブログ