ヴェネツィア冒険團、美崎 薫、小原 亮一、酒井 一成:Puppeteer 入門

作成日 : 2018-03-08
最終更新日 :

概要

副題は「スクレイピング + Web 操作 + 自動処理プログラミング」

感想

どういうわけか読みにくい文書

私の文章読解力が不足しているのか、著者の主張がすぐには理解できない。たとえば、本書の p.45 の Column の主張の最終段落を見よう。 以下は本書の著者による文章を引用しているが、Column 全体の 1/3 程度なので、著作権法での引用の範囲に収まり、剽窃とか盗作には当たらない、 と考えている。

(前略) 本書では、YouTube の動画について調査しましたが、これはもちろん私的利用の範囲ですし、 違法にアップロードしたものだとは知りません。まして私的利用の範囲を超えて転載したことなど皆無です。 違法アップロードしたと知りながらその映像や音楽をダウンロードするのは犯罪です。 著作権を守って、楽しい映像ライフを送りましょう。

まず、YouTube の動画について調査したことを述べている。そして「これはもちろん私的利用の範囲です」 といっているが、調査が私的利用の範囲、といっているのではないのだろう。もちろん「これ」とは「動画」を指し、そして言いたいことはおそらく、 <調査した結果わかったのは、一個人が YouTube の動画を視聴することは私的利用の範囲である>ということだろう。 そして、違法にアップロードしたものだとは知りません、とあるが、 結果として視聴するコンテンツについて違法性を知ることができなかった、というだけだろう。だから、主張は、 <一個人が YouTube を視聴することは私的利用の範囲である。ただし、私的利用ということが言えるのは、 視聴している作品が違法にアップロードしたということをその一個人が知らない場合に限られる> ということではないか。著者個人が知らなくとも、別の誰かが「これが私的利用の範囲を超えて録画したものだ」ということを何かの経緯でわかっていて、 そのわかっている誰か自身が視聴しているのであれば、違法であろう。

各種ソフトウェアのダウンロードについて

p.86 で、ESLint のインストールが述べられている。lint というのは Unix の C プログラムの文法ミスや警告を事前に取り除くプログラムであり、 おじさん世代の Unix 使いならば知っている。ESLint は ECMA Script (JavaScript)に対する lint ということであろう。 さて、インストールを始めたはよいが、p.92 とは画面が違っていた。なお、{UserName}は Windows 10 でのアカウント名を表す。

> npm install --save-dev eslint
npm WARN saveError ENOENT: no such file or directory, open 'C:\Users\{UserName}\package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\{UserName}\package.json'
npm WARN satosi No description
npm WARN satosi No repository field.
npm WARN satosi No README data
npm WARN satosi No license field.

+ eslint@5.16.0
added 117 packages from 70 contributors and audited 184 packages in 59.906s
found 0 vulnerabilities

> node .\node_modules\eslint\bin\eslint.js --init
? How would you like to use ESLint?  (Use arrow keys)
> To check syntax only
  To check syntax and find problems
  To check syntax, find problems, and enforce code style

こんなことは、本の p.92 には書かれていなかった。↑キーや↓キーでどれかを選ばないといけない。 覚悟を決めた。俺の信条は「長いものには巻かれろ」だ。一番下 To check syntax, find problems, and enforce code style (構文チェックのほか、問題発見とコードスタイルの強制)を選ぶ。

? What type of modules does your project use? (Use arrow keys)
> JavaScript modules (import/export)
  CommonJS (require/exports)
  None of these

こんなことも、本の p.92 には書かれていなかった。CommonJS については情報が乏しく、よくわからない。 だから一番の上の JavaScript modules (import/export) でいいだろう。

? Which framework does your project use? (Use arrow keys)
> React
  Vue.js
  None of these

どうしますかね。私が持っている本は React が 3 冊、Vue.js が 1 冊なのだけれど、私が知っている若い衆が Vue.js をやっているから、 真ん中にしよう。

? Where does your code run? (Press <space> to select, <a> to toggle all, <i> to invert selection)
>(*) Browser
 ( ) Node

これまた本書にはない。両方走らせることにしていいと思うので、どちらも(*)にしておいた。

? How would you like to define a style for your project? (Use arrow keys)
> Use a popular style guide
  Answer questions about your style
  Inspect your JavaScript file(s)

本書の通り、Use a popular style guide にする。

? What format do you want your config file to be in? (Use arrow keys)
> JavaScript
  YAML
  JSON

また本書を離れた。JavaScript でいいや、と思って Enter を押したら、これは本書に書かれていて JSON を選ばなければいけないではないか。 もう一度実行する。

> node .\node_modules\eslint\bin\eslint.js --init
? How would you like to use ESLint? To check syntax, find problems, and enforce code style
? What type of modules does your project use? JavaScript modules (import/export)
? Which framework does your project use? Vue.js
? Where does your code run? Browser, Node
? How would you like to define a style for your project? Use a popular style guide
? What format do you want your config file to be in? JSON
A package.json is necessary to install plugins such as style guides. Run `npm init` to create a package.json file and try again.

ではやってみる。

> npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install ` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: ({UserName})
(以下略)

VS Code を再起動し、プルダウンメニューの View → Output から出力ペインを見たが、ESLint の表示はなかった。ああ。どうしよう。

書誌情報

書 名 Puppeteer 入門
著 者 ヴェネツィア冒険團、美崎 薫、小原 亮一、酒井 一成
発行日 2018 年 10 月 1 日
発行元 秀和システム
定 価
サイズ
ISBN 978-4-7980-5520-6

まりんきょ学問所コンピュータについてコンピュータの本インターネット > ヴェネツィア冒険團、美崎 薫、小原 亮一、酒井 一成:Puppeteer 入門


MARUYAMA Satosi