版元ドットコム

探せる、使える、本の情報

文芸 新書 社会一般 資格・試験 ビジネス スポーツ・健康 趣味・実用 ゲーム 芸能・タレント テレビ・映画化 芸術 哲学・宗教 歴史・地理 社会科学 教育 自然科学 医学 工業・工学 コンピュータ 語学・辞事典 学参 児童図書 ヤングアダルト 全集 文庫 コミック文庫 コミックス(欠番扱) コミックス(雑誌扱) コミックス(書籍) コミックス(廉価版) ムック 雑誌 増刊 別冊
Puppeteer入門 ヴェネチア冒険團(著/文) - 秀和システム
..
詳細画像 0
【利用不可】

Puppeteer入門 (パペッティアニュウモン) スクレイピング+Web操作自動処理プログラミング (スクレイピングウェブソウサジドウショリプログラミング)

コンピュータ
このエントリーをはてなブックマークに追加
B5変型判
384ページ
定価 2,800円+税
ISBN
978-4-7980-5520-6   COPY
ISBN 13
9784798055206   COPY
ISBN 10h
4-7980-5520-4   COPY
ISBN 10
4798055204   COPY
出版者記号
7980   COPY
Cコード
C3055  
3:専門 0:単行本 55:電子通信
出版社在庫情報
不明
書店発売日
登録日
2018年7月18日
最終更新日
2018年9月13日
このエントリーをはてなブックマークに追加

紹介

■Puppeteerで、ブラウザのUIを自動操作!

近年、Webシステムの重要性が増しています。
基本的にWebシステムは対話型のシステムであり、
手動で操作するものですが、2つの大きな課題があります。
1つは「作る側が対話的に動くことを確認するテスト」であり、
もう1つは「使う側が複雑なページを使いこなす方法」です。

これらを解決する方法の1つが、2017年にリリースされたPuppeteerです。
Puppeteerは、Node.jsで動くGoogle製のライブラリで、
JavaScriptを使って従来は難しかった
ブラウザ(Chromium&Chrome)のUIを自動操作できます。


■スクレイピング&Web操作自動処理を丁寧に解説!

本書では、Puppeteerの環境構築の手順から始まり、
スクレイピングとWeb操作の自動処理プログラミングを丁寧に解説しています。
さらに豊富な自動処理のサンプルプログラムと、
デバッグやエラー対応も解説しています。

これまで手動で行っていたWebサイトからのデータ取得や抽出、
SPA(Single Page Application)の動作チェックなどを
自動化したい方にお薦めの1冊です。

カバーイラストは、熱狂的なファンが多い漫画家・鶴田謙二氏!

目次

【本書の構成】

〈第1部 準備編〉

第1章 Puppeteerの基礎
  1-1 ブラウザ自動化のライブラリ[Puppeteer]
  1-2 JavaScriptと組み合わせ可能[Puppeteerでできること、できないこと]
  1-3 画面にウィンドウを出さない[Headlessブラウザ]
  1-4 兄弟ソフト[ChromeとChromium]
  1-5 私的使用のための複製は自由[スクレイピングと著作権]
  1-6 岡崎市立中央図書館事件に学ぶ[スクレイピングの注意点]
  1-7 ほかのブラウザにはない機能が充実[ディベロッパーツールの使い方]
  1-8 Webページを構成する要素[HTMLとDOM]

第2章 実行環境の準備
  2-1 ソフトウェアモジュールと関連フォルダー[Puppeteerに必要な環境]
  2-2 Node.jsの開発環境[Visual Studio Codeのインストール]
  2-3 JavaScriptのランタイム環境[Node.jsのインストール]
  2-4 ファイルをフォルダーを越えて扱う[ワークスペース]
  2-5 テンプレートとコマンドシェルの2通り[ワークスペースの作成]
  2-6 パッケージ管理のコマンドラインツール[npm]
  2-7 VS Codeの書式拡張機能[ESLint]
  2-8 npmを使った[Puppeteerのインストール]

第3章 JavaScriptの基礎知識
  3-1 わかりやすい[JavaScriptの書き方]
  3-2 JavaScriptを補完する[Node.jsの標準モジュール]
  3-3 基本的な文法と記法①[変数と関数]
  3-4 基本的な文法と記法②[配列と要素の追加 /削除]
  3-5 基本的な文法と記法③[ループと条件分岐]
  3-6 同期処理と非同期処理①[コールバック関数]
  3-7 同期処理と非同期処理②[Promiseを返す]
  3-8 同期処理と非同期処理③[async /await]


〈第2部 基本編〉

第4章 スクレイピングの自動化
  4-1 要素を特定する基本的な方法[idで探す]
  4-2 idを指定していなかった場合は[classで探す]
  4-3 idもタグも指定のない場合は[タグで探す]
  4-4 name属性で要素を指定[nameで探す]
  4-5 要素を特定して[属性名で探す]
  4-6 idもnameもないときは[DOMツリーで探す]
  4-7 2つの方法を利用[ページをたどる]

第5章 Web操作の自動化
  5-1 基本的な要素[テキストボックスに入力する]
  5-2 複数行に入力可能な要素[テキストエリアに入力する]
  5-3 動的に生成される要素[ラジオボタンで選択する]
  5-4 選択肢を1つだけ選べる要素[セレクトボックスで選択する]
  5-5 複数の値を選択する要素[チェックボックスをクリックする]
  5-6 一瞬で制御![複数のチェックボックスをすべてチェックする]
  5-7 イベントの起点となる要素[ボタンをクリックする]

第6章 複雑なWeb操作の自動化
  6-1 URLからファイル名を取得[画像をダウンロードする]
  6-2 URLからsrcを取得[リンクのある画像をダウンロードする]
  6-3 ディベロッパーツールで解析[複雑な画像をダウンロードする]
  6-4 必要な情報をいつでも手元に[画面をキャプチャする]
  6-5 コアモジュールのfsを利用[ファイルを読み書きする]
  6-6 ファイル名を指定してファイルストリームを生成[CSVファイルを出力する]
  6-7 pdf()メソッドを利用[PDFを作成する]


〈第3部 実践編〉

第7章 自動化処理のサンプルプログラム
  7-1 環境変数を利用[ログインとパスワードを管理する]
  7-2 結果をCSVファイルに保存[秀和システムの新刊一覧の詳細を取得する]
  7-3 ループ処理でページを次々に保存[ブログをPDFでバックアップする]
  7-4 DOM要素の変化に対応[PDF結合サービスの利用を自動化する]
  7-5 ループ処理で自動化[ニュース記事をPDFにする]
  7-6 汎用的な関数を利用[ブログの画像を保存する]
  7-7 URLを別サイトに自動的に貼りつけ[YouTube動画をスクレイピングする]
  7-8 駅名とジャンルのかけあわせ[ぐるなび情報を取得する]
  7-9 銘柄コードの該当ページに遷移[株価を取得する]
  7-10 特定のタグを解析[天気情報を取得する]
  7-11 Webページの描画を待機[図書館の蔵書を検索する]
  7-12 複数の条件で自動検索[ヤフオク!で商品を探す]
  7-13 特定のキーワードを含むリンクを開く[Googleで検索する]
  7-14 地図を画像として保存[GoogleMapを使う]
  7-15 URLをデコードして解析[Google画像を検索する]
  7-16 3行で機械翻訳[Google翻訳を使う]
  7-17 新作映画をずぼらブラウジング[映画情報を見る]
  7-18 希望する条件をコード化[SUUMOから不動産情報を取得する]
  7-19 送信する手順を自動化[宅ふぁいる便でファイルを送信する]
  7-20 よく使う駅をPuppeteerに登録[乗り換え案内から情報を取得する]
  7-21 定期的に繰り返して実行[遅延情報を取得する]
  7-22 scrollByで自動スクロール[Twitterをオートスクロールで見る]

第8章 テスト駆動開発
  8-1 心理的な課題と技術的な課題[テスト駆動開発とUIテストを実行する]
  8-2 検証が重要[Puppeteerのコードをテストする]
  8-3 テストフレームワークの利用[avaを導入する]
  8-4 自動テストのための要素を検証[テストコードを実装する]
  8-5 指定した時刻に動かすプログラム[cron]
  8-6 バッチファイルを利用[Windowsでタスクスケジューラを設定する]
  8-7 シェルスクリプトで実行[Macで自動実行プロセスを設定する]

第9章 デバッグ
  9-1 ファイルやディレクトリが存在しないエラー[ENOENTエラー]
  9-2 モジュールが見つからないエラー[Cannot find moduleエラー]
  9-3 ハンドルされていないエラー[UnhandledPromiseRejectionsエラー]
  9-4 ネットにつながっていないエラー[ERR_INTERNET_DISCONNECTEDエラー]
  9-5 ページ遷移がタイムアウトしたエラー[Navigation Timeout Exceededエラー]
  9-6 定数や変数の扱いのエラー[is not definedエラー]
  9-7 指定した要素を見つけられなかったエラー[No node found for selectorエラー]
  9-8 文法のエラー[SyntaxError: Unexpectedtokenエラー]

著者プロフィール

ヴェネチア冒険團  (ヴェネチアボウケンダン)  (著/文

ヴェネチア制覇を目標にかかげ、團長・美崎薫、小原亮一、
酒井一成の3名体制でスタート。団員募集中。次期探検候補地は、
杜王町、ゴッサムシティ、麻布十番、宮崎県、BOOM TOWN。

美崎 薫  (ミサキ カオル)  (著/文

未来生活デザイナー。必要なものは作ることをモットーに、
住宅、書斎、机を始め、多数のハードウェア、ソフトウェアをプロデュース。
IPA未踏ソフトウェアで、カレンダー、メモ、
「重ねた紙」などをデジタル化した次世代環境「PilePaperFile」を提示した。
これまでにリリースしたソフトウェアは200本。
主な著書に『手で撮るようにわかるデジタルカメラ徹底活用術』(二期出版)、
『人に聞けないパソコン何でも相談』(日経新聞社)、
『パソコンデータの捨て方 残し方 まとめ方』(青春出版社)、
『デジカメ200%徹底的活用術』(KKベストセラーズ)、
『ユビキタスがわかる本』(オーム社)、
『ライフログ入門』(東洋経済新報社)、
『記憶する道具』(NTT出版)などがある。

小原 亮一  (オバラ リョウイチ)  (著/文

中学3年生のときにN88 BASICを制覇。ITに興味をもち、高校でC++、
大学でHTML、CSS、JavaScript、Visual Basic、WSHを習得した早熟のエンジニア。
システム開発会社に入社後は、大規模Java案件の基盤構築を手がけたあと、
プロジェクトマネージャー/アーキテクトとして新技術の採り入れ、
技術ベースアップ、開発スタイルの改善を継続的に実施する永遠の中二病。
最近では、IoT利活用やAWSを活用したSaaSの開発/マネージメント/運用/
顧客提案/営業支援も行っている。IFTTT、Amazon Dash Button、Amazon Echoを
はじめとしたスマートホームに関心があり、ハッキング中。
2017年9月に温度センサーとAWSを組み合わせたシステムで
「ia-cloudハッカソン最優秀賞」を受賞。

酒井 一成  (サカイ イッセイ)  (著/文

フリーランスシステムエンジニア。中学時代にテキストエディタのみで
ホームページを作成し、サイト上で小規模なCGIゲームを運営。
コンピュータ好きが転じて、大学では情報工学を専攻。
卒業後に上京し、システム会社に就職。業務命令で嫌々ながら参加した
社外勉強会で現場エンジニアの熱にあてられ、その後は積極的に参加するようになる。
同時に社内で有志による勉強会を立ち上げ、外で学び、内で共有する形を模索する。
Uターン転職を経て独立し、現在はシステム開発を中心とした幅広い分野で活動中。

上記内容は本書刊行時のものです。