Coding Memos

try {coding} catch {questions}

Python + Selenium + Headless Chrome

f:id:codingmemos:20170608224002p:plain snoozepost.com 画像は上記から。

chromeがver59になってから、developerたちに嬉しい機能がいくつか付加された。

front-end 側では、使っていないjsやcssについてわかるようになったため、コードの軽量化がはかどることだろう。

さて、個人的には表題に示した通り、Headless Chromeをつかうことになった。

Headless ブラウザといえば、最も有名なのはPhantomJSだろう。 しかし、PhantomJSはメンテナーを募集している状況にあり、このままいくと、headless chromeが市民権を得ることだろう。

ちなみに、WindowsでのサポートはまだなされていないMac, LinuxでHeadless Chromeを利用することができる。(2017/6/8時点)

ヘッドレス Chrome ことはじめ  |  Web  |  Google Developers

また、--headless--disable-gpu というオプションをつけることが条件だ。 (後者のオプションはそのうちいらなくなるだろうと言われている。Google Developersの記事を読んでほしい。)

Headless Chromeに期待していることがClick eventによるPDFなどのファイルダウンロード(PhantomJSでもやはりファイルダウンロードは課題だった)。

しかし、これはHeadless Chromeにおいても同様だった。 (私が確認する限りでは。)

headless にすることで、click eventもしくはファイルダウンロードがうまくいなないのはどのブラウザでも一緒なんだろうか。

Web scrapingしてDOMを扱うのであれば問題はないだろう。

現状でchromedriverは正式にはver58までのサポートとなっているため、これがアップデートされれば かわるのだろうか・・・。

File download · Issue #10052 · ariya/phantomjs · GitHub

2011年に報告されたissueは6年経った今でもOpenステータスだ。

やり方はあるようだが、jsでclick eventを実装することになりそうだ。

ニューラルネットワークの活性化関数【ゼロ作DL_9】

本稿ではニューラルネットワークの定式化についての学習記録です。 「ゼロから作るDeep Learning」の内容に沿っていますが、今回は割と内容について、自身で考えたことを書きます。

f:id:codingmemos:20170304185553g:plain

村上・泉田研究室 ニューラルネットワーク から画像引用

続きを読む

単層パーセプトロンが表現しきれないもの【ゼロ作DL_8】

少しずつDeep Learningの核心に迫ってるようで、面白くなって来ました。

本稿の学習記録は、パーセプトロンの限界という項目について。

続きを読む

パーセプトロンをちょっと一般化【ゼロ作DL_7】

二日間更新が空いてしまいました。 日々進捗出していきたいとおもいます。

今回の学習記録はパーセプトロンにバイアスを加えるという話です。

続きを読む

パーセプトロンを論理回路に適用して使う【ゼロ作DL_6】

基本情報の勉強をちょろっとした時に学んだ話ですね。 こういうコンピュータサイエンスの基礎的な話も理解できるようにしたいところです。

続きを読む

パーセプトロン導入【ゼロ作DL_5】

今回は表題の通り、パーセプトロンについて。

Perception = 知覚 でonというのは、neuronなどでも使われているように、単位を表す時によく使われる。

Perceptronなので、知覚単位って感じですね。

続きを読む

NumPyとMatplotlib【ゼロ作DL_4】

Python3の外部ライブラリのNumPyについての学習ログです。

続きを読む

Python3基本文法(PHPとざっくり比較)【ゼロ作DL_3】

引き続き、ちょっとずつ「ゼロから作るDeep Learning」進めていっています。 本稿では、Pythonの基本文法について。

続きを読む

【疑問】Python3の算術処理計算【ゼロ作DL_2】

「ゼロから作るDeep Learning」疑問

というか、Python3の疑問?むしろコンピュータ全体としての疑問になるのかな?

続きを読む

環境構築【ゼロ作DL_1】

まずPythonの導入からですね。 ゼロから作るDeep Learningでは、Python3のAnacondaディストリビューションを推奨しているので、これをインストールしていきます。

もっとも、懇切丁寧に一から環境構築すると、記述量が大変なので、私の構築フローを 参考にしていただければ、と考えています。

続きを読む