Submit Search
Upload
CasperJSを使って任意のWebサイトを電子書籍化する方法
•
Download as PPTX, PDF
•
9 likes
•
5,804 views
Masayuki Isobe
Follow
第一回Webスクレイピング勉強会 LT発表資料
Read less
Read more
Technology
Report
Share
Report
Share
1 of 10
Download now
Recommended
第二回機械学習アルゴリズム実装会 - LDA
第二回機械学習アルゴリズム実装会 - LDA
Masayuki Isobe
ドローン向けソフトウェア事業
ドローン向けソフトウェア事業
Masayuki Isobe
ScrapyとPhantomJSを用いたスクレイピングDSL
ScrapyとPhantomJSを用いたスクレイピングDSL
Masayuki Isobe
爆速機械学習サービス応用:実践編#yjdsw1
爆速機械学習サービス応用:実践編#yjdsw1
Yahoo!デベロッパーネットワーク
Power Appsを触って知った既定の環境のこと
Power Appsを触って知った既定の環境のこと
た な
SharePointリストのフォームのカスタマイズを利用したときにハマること
SharePointリストのフォームのカスタマイズを利用したときにハマること
た な
オープンデータのためのスクレイピング
オープンデータのためのスクレイピング
直之 伊藤
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピング
Takuro Sasaki
Recommended
第二回機械学習アルゴリズム実装会 - LDA
第二回機械学習アルゴリズム実装会 - LDA
Masayuki Isobe
ドローン向けソフトウェア事業
ドローン向けソフトウェア事業
Masayuki Isobe
ScrapyとPhantomJSを用いたスクレイピングDSL
ScrapyとPhantomJSを用いたスクレイピングDSL
Masayuki Isobe
爆速機械学習サービス応用:実践編#yjdsw1
爆速機械学習サービス応用:実践編#yjdsw1
Yahoo!デベロッパーネットワーク
Power Appsを触って知った既定の環境のこと
Power Appsを触って知った既定の環境のこと
た な
SharePointリストのフォームのカスタマイズを利用したときにハマること
SharePointリストのフォームのカスタマイズを利用したときにハマること
た な
オープンデータのためのスクレイピング
オープンデータのためのスクレイピング
直之 伊藤
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピング
Takuro Sasaki
Device WebAPI 20160407
Device WebAPI 20160407
陽平 山口
地域発オープンイノベーションで進化する公共交通の最前線
地域発オープンイノベーションで進化する公共交通の最前線
Masaki Ito
Angular JSを始めよう!
Angular JSを始めよう!
Satoshi Kishi
「今後現場で求められるAIエンジニア像とは?」株式会社ホットリンク 榊 剛史
「今後現場で求められるAIエンジニア像とは?」株式会社ホットリンク 榊 剛史
Leading Edge Co.,Ltd.
【WCAN 2015 spring】ワクワクドリブンエンジニアリング_公開版
【WCAN 2015 spring】ワクワクドリブンエンジニアリング_公開版
真一 藤川
Webシステムプログラミング概要20150630
Webシステムプログラミング概要20150630
義広 河野
レビューの自動化事業について
レビューの自動化事業について
ssuserf1e090
レビューの自動化事業について
レビューの自動化事業について
ssuserf1e090
ソフトウェアエンジニアリングとEssenceの広がり
ソフトウェアエンジニアリングとEssenceの広がり
Hironori Washizaki
Custom Visionで仏像を画像分類
Custom Visionで仏像を画像分類
Yoshitaka Seo
Io t,ai時代のソフトウェア
Io t,ai時代のソフトウェア
Toshiaki Kurokawa
これからの学術デジタル・アーカイブ SAT大蔵経DBを事例として
これからの学術デジタル・アーカイブ SAT大蔵経DBを事例として
Nagasaki Kiyonori
JAWSDAYS2016 ランチタイムセッション
JAWSDAYS2016 ランチタイムセッション
陽平 山口
LiDAR点群と画像とのマッピング
LiDAR点群と画像とのマッピング
Takuya Minagawa
中国Fintechヤバい
中国Fintechヤバい
Sho Sawada
地域公共交通の未来と公共交通オープンデータ
地域公共交通の未来と公共交通オープンデータ
Masaki Ito
Machine Learning Nagoya 20170619
Machine Learning Nagoya 20170619
陽平 山口
20190306 A Story about Visiting a Sturgeon Farm and Eating Sturgeon in Toyone...
20190306 A Story about Visiting a Sturgeon Farm and Eating Sturgeon in Toyone...
Typhon 666
コミュニティのススメ
コミュニティのススメ
leverages_event
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
Yasuharu Seki
オープンソースを用いたドローンの自律制御ソフトウェア技術
オープンソースを用いたドローンの自律制御ソフトウェア技術
Masayuki Isobe
関数型プログラミングとモナド
関数型プログラミングとモナド
Masayuki Isobe
More Related Content
Similar to CasperJSを使って任意のWebサイトを電子書籍化する方法
Device WebAPI 20160407
Device WebAPI 20160407
陽平 山口
地域発オープンイノベーションで進化する公共交通の最前線
地域発オープンイノベーションで進化する公共交通の最前線
Masaki Ito
Angular JSを始めよう!
Angular JSを始めよう!
Satoshi Kishi
「今後現場で求められるAIエンジニア像とは?」株式会社ホットリンク 榊 剛史
「今後現場で求められるAIエンジニア像とは?」株式会社ホットリンク 榊 剛史
Leading Edge Co.,Ltd.
【WCAN 2015 spring】ワクワクドリブンエンジニアリング_公開版
【WCAN 2015 spring】ワクワクドリブンエンジニアリング_公開版
真一 藤川
Webシステムプログラミング概要20150630
Webシステムプログラミング概要20150630
義広 河野
レビューの自動化事業について
レビューの自動化事業について
ssuserf1e090
レビューの自動化事業について
レビューの自動化事業について
ssuserf1e090
ソフトウェアエンジニアリングとEssenceの広がり
ソフトウェアエンジニアリングとEssenceの広がり
Hironori Washizaki
Custom Visionで仏像を画像分類
Custom Visionで仏像を画像分類
Yoshitaka Seo
Io t,ai時代のソフトウェア
Io t,ai時代のソフトウェア
Toshiaki Kurokawa
これからの学術デジタル・アーカイブ SAT大蔵経DBを事例として
これからの学術デジタル・アーカイブ SAT大蔵経DBを事例として
Nagasaki Kiyonori
JAWSDAYS2016 ランチタイムセッション
JAWSDAYS2016 ランチタイムセッション
陽平 山口
LiDAR点群と画像とのマッピング
LiDAR点群と画像とのマッピング
Takuya Minagawa
中国Fintechヤバい
中国Fintechヤバい
Sho Sawada
地域公共交通の未来と公共交通オープンデータ
地域公共交通の未来と公共交通オープンデータ
Masaki Ito
Machine Learning Nagoya 20170619
Machine Learning Nagoya 20170619
陽平 山口
20190306 A Story about Visiting a Sturgeon Farm and Eating Sturgeon in Toyone...
20190306 A Story about Visiting a Sturgeon Farm and Eating Sturgeon in Toyone...
Typhon 666
コミュニティのススメ
コミュニティのススメ
leverages_event
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
Yasuharu Seki
Similar to CasperJSを使って任意のWebサイトを電子書籍化する方法
(20)
Device WebAPI 20160407
Device WebAPI 20160407
地域発オープンイノベーションで進化する公共交通の最前線
地域発オープンイノベーションで進化する公共交通の最前線
Angular JSを始めよう!
Angular JSを始めよう!
「今後現場で求められるAIエンジニア像とは?」株式会社ホットリンク 榊 剛史
「今後現場で求められるAIエンジニア像とは?」株式会社ホットリンク 榊 剛史
【WCAN 2015 spring】ワクワクドリブンエンジニアリング_公開版
【WCAN 2015 spring】ワクワクドリブンエンジニアリング_公開版
Webシステムプログラミング概要20150630
Webシステムプログラミング概要20150630
レビューの自動化事業について
レビューの自動化事業について
レビューの自動化事業について
レビューの自動化事業について
ソフトウェアエンジニアリングとEssenceの広がり
ソフトウェアエンジニアリングとEssenceの広がり
Custom Visionで仏像を画像分類
Custom Visionで仏像を画像分類
Io t,ai時代のソフトウェア
Io t,ai時代のソフトウェア
これからの学術デジタル・アーカイブ SAT大蔵経DBを事例として
これからの学術デジタル・アーカイブ SAT大蔵経DBを事例として
JAWSDAYS2016 ランチタイムセッション
JAWSDAYS2016 ランチタイムセッション
LiDAR点群と画像とのマッピング
LiDAR点群と画像とのマッピング
中国Fintechヤバい
中国Fintechヤバい
地域公共交通の未来と公共交通オープンデータ
地域公共交通の未来と公共交通オープンデータ
Machine Learning Nagoya 20170619
Machine Learning Nagoya 20170619
20190306 A Story about Visiting a Sturgeon Farm and Eating Sturgeon in Toyone...
20190306 A Story about Visiting a Sturgeon Farm and Eating Sturgeon in Toyone...
コミュニティのススメ
コミュニティのススメ
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
More from Masayuki Isobe
オープンソースを用いたドローンの自律制御ソフトウェア技術
オープンソースを用いたドローンの自律制御ソフトウェア技術
Masayuki Isobe
関数型プログラミングとモナド
関数型プログラミングとモナド
Masayuki Isobe
ジャパンドローンセミナー
ジャパンドローンセミナー
Masayuki Isobe
AIBOX DroneBrain 製品パンフレット
AIBOX DroneBrain 製品パンフレット
Masayuki Isobe
ファイブソリューションズデベロッパーネットワーク
ファイブソリューションズデベロッパーネットワーク
Masayuki Isobe
RDF/OWLの概要及びOSS実装、及び活用イメージについて
RDF/OWLの概要及びOSS実装、及び活用イメージについて
Masayuki Isobe
第三回機械学習アルゴリズム実装会イントロダクション
第三回機械学習アルゴリズム実装会イントロダクション
Masayuki Isobe
ブランディング指標の数値化について
ブランディング指標の数値化について
Masayuki Isobe
TEDxTitech 2013 speech material
TEDxTitech 2013 speech material
Masayuki Isobe
Rec sys2013 reading_isobe
Rec sys2013 reading_isobe
Masayuki Isobe
広告ナビゲータ・広告シミュレータ
広告ナビゲータ・広告シミュレータ
Masayuki Isobe
rzmq
rzmq
Masayuki Isobe
Uuyアドテクセミナー
Uuyアドテクセミナー
Masayuki Isobe
第12回モヤLT発表資料
第12回モヤLT発表資料
Masayuki Isobe
Tokyo.R 26 LT isobe
Tokyo.R 26 LT isobe
Masayuki Isobe
Tokyo r 25_lt_isobe
Tokyo r 25_lt_isobe
Masayuki Isobe
Tokyo.R #22 LT
Tokyo.R #22 LT
Masayuki Isobe
Tokyo.R #19 発表資料 「Rで色々やってみました」
Tokyo.R #19 発表資料 「Rで色々やってみました」
Masayuki Isobe
More from Masayuki Isobe
(18)
オープンソースを用いたドローンの自律制御ソフトウェア技術
オープンソースを用いたドローンの自律制御ソフトウェア技術
関数型プログラミングとモナド
関数型プログラミングとモナド
ジャパンドローンセミナー
ジャパンドローンセミナー
AIBOX DroneBrain 製品パンフレット
AIBOX DroneBrain 製品パンフレット
ファイブソリューションズデベロッパーネットワーク
ファイブソリューションズデベロッパーネットワーク
RDF/OWLの概要及びOSS実装、及び活用イメージについて
RDF/OWLの概要及びOSS実装、及び活用イメージについて
第三回機械学習アルゴリズム実装会イントロダクション
第三回機械学習アルゴリズム実装会イントロダクション
ブランディング指標の数値化について
ブランディング指標の数値化について
TEDxTitech 2013 speech material
TEDxTitech 2013 speech material
Rec sys2013 reading_isobe
Rec sys2013 reading_isobe
広告ナビゲータ・広告シミュレータ
広告ナビゲータ・広告シミュレータ
rzmq
rzmq
Uuyアドテクセミナー
Uuyアドテクセミナー
第12回モヤLT発表資料
第12回モヤLT発表資料
Tokyo.R 26 LT isobe
Tokyo.R 26 LT isobe
Tokyo r 25_lt_isobe
Tokyo r 25_lt_isobe
Tokyo.R #22 LT
Tokyo.R #22 LT
Tokyo.R #19 発表資料 「Rで色々やってみました」
Tokyo.R #19 発表資料 「Rで色々やってみました」
CasperJSを使って任意のWebサイトを電子書籍化する方法
1.
東京スクレイピング勉強会#1 2014.6.22 CasperJSを使って任意のWebサイトをEPub電子書籍化する方法 Masayuki Isobe
/ 礒部 正幸 / @chiral Adfive, Inc.
2.
自己紹介 • 礒部正幸(いそべ まさゆき) •
職業: ソフトウェアエンジニア • 現在: アドファイブ(株) 代表 http://www.adfive.net – 現体制: 代表1名 + 外注数名 : お問い合わせ – 自社製品: モバイルO2Oアプリ/オウンドメディア/アドサーバ – 受託業務: システムコンサルティング/システム開発/データ分析 • 東工大卒 (B:情報工学科、M:計算工学専攻) • インターネット活動 – TwitterID: @chiral – (ブログ:アドファイブ日記) http://d.hatena.ne.jp/isobe1978/ • 「機械学習ハッカソン」主催: http://mlhackathon.connpass.com/ • 近年作ったスクレイピング利用システム – パケットデータから閲覧Webページの画面キャプチャ再構成 (PhantomJS+自作プロキシーサーバ) – WebサイトのEPub電子書籍化ツール(Node.js/CasperJS) – WebスクレイピングDSL( Scrapy/PhantomJS) – Webスクレイピングジョブ管理システム(Django) 本資料
3.
EPUBについて ・ iBookやKindleでオフラインでも読むことができるパッケージコンテンツフォーマット ・中身は Web(HTML/CSS)の静的スナップショット
+ メタ情報 みたいな感じ ・当初喧伝されたわりに流行ってない 画像の埋め込みは簡単に可能 Web上のコンテンツをキャプチャして、パッケージメ ディア化するのは簡単にできそう Webページ コンテンツ本体の部分だけ キャプチャ画像を取得 キャプチャした画像 EPUBフォーマット でパッケージング 参考) 類似コンセプトのサービス ただしこちらはキャプチャ画像ではなく Webデータそのものを保存
4.
CasperJS : Webページの部分キャプチャ機能 •
PhandomJSのキャプチャ機能は、ページ全体しか取れない、困った。 色々調べてみると、 キタ━━━(゚∀゚).━━━!!! → CasperJSならば部分キャプチャが可能! (フリーのライブラリでこの機能を持つものは、発表者の知る限りでは恐らくこのCasperJSしかない)
5.
画像としてパッケージングする際の問題 • EPUBはリフロー型 - 画像を一つのオブジェクトとして レイアウトしようとしてしまう。 横にしたとき 縦のとき キャプ チャ 画像 キャ プ チャ 画 像 ならば、ザクザクと画像を切り 刻んで並べればいいじゃないか キャプ チャ 画像 横にしたとき 縦のとき はみ出した分 は次ページへ 1page 2page
3page 4page 端末サイズにも対応でき、 リフロー型のメリットが活きる
6.
画像を刻むアルゴリズム ・基本的に水平にしか切らない ・文字や画像にぶつからないところで切る ・背景の色などに左右されない必要がある → キャプチャした画像をエッジフィルタに掛けてエッジが無い空白区間の中点を取る …… PythonのPILで実装 対象 Webページ キャプチャ
7.
システム全体の流れ ユーザがパッケージングしたい対象URL群を入力 DB コンテンツ本体の CSSセレクタを保持 CasperJSでWebページを部分キャプチャ キャプチャ対象にする 部分のCSSセレクタ PIL(Python)でエッジフィルタ&画像を切り刻む EPUB形式に画像,XHTML,メタ情報ファイル等を配置 EPUBファイル出力 (zip圧縮) Webサービスとして Node.js/Express/PM2 で作成
8.
デモ:EPubShot • Webでデモを公開しています。 http://epubshot.adfive.net/ トップ画面 CSSセレクタ登録画面 作成完了 E-mail送付機能なども付けてあったり..
9.
某料理レシピサイトから作ったEPUBのリーダアプリのキャプチャ ・ こんな感じに、きれいにEPUB化できます。 ・YahooNewsやはてなダイアリーなどもキレイに取れます。 ・背景がミドリすぎる山本一郎氏のブログもちゃんと画像を 刻んでリフローなEPUBを出力します。 (背景色に左右されないのがエッジフィルタの利点) いつみてもミドリミドリしてる
10.
というシステムを、 企画~調査~アルゴリズム検討~実装~リリースまで トータル5日くらいでやって、いくつか(※)営業に 行ってみたのですが、売れませんでした(笑) Powered by ※某レ○ピサイト企業とか、その他いくつか
Download now