Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ヘッドレスChromeでクローラを作った後の話
Search
yujiosaka
March 20, 2018
Technology
3
690
ヘッドレスChromeでクローラを作った後の話
yujiosaka
March 20, 2018
Tweet
Share
More Decks by yujiosaka
See All by yujiosaka
I was understanding WASM all wrong! 🤯
yujiosaka
2
270
Machine Learning with JavaScript
yujiosaka
0
180
JavaScriptでも機械学習がやりたかった話
yujiosaka
2
450
俺が最初にヘッドレスChromeでクローラ作った 事になんねーかな
yujiosaka
4
1.3k
『XXX』のための管理画面
yujiosaka
1
1.3k
Enjoy Deep Learning by JavaScript
yujiosaka
1
350
ひたすら楽してディープラーニング
yujiosaka
20
13k
technology x business
yujiosaka
3
580
第二回もんご祭 パネルディスカッション
yujiosaka
0
890
Other Decks in Technology
See All in Technology
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
170
フィンテック養成勉強会#56
finengine
0
120
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
190
「魔法少女まどか☆マギカ Magia Exedra」のグローバル展開を支える、開発チームと翻訳チームの「意識しない協創」を実現するローカライズシステム
gree_tech
PRO
0
540
ガチな登山用デバイスからこんにちは
halka
1
210
AI時代に非連続な成長を実現するエンジニアリング戦略
sansantech
PRO
3
1.1k
Obsidian応用活用術
onikun94
1
390
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
650
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
300
絶対に失敗できないキャンペーンページの高速かつ安全な開発、WINTICKET × microCMS の開発事例
microcms
0
390
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.4k
2025年にHCP Vaultを学び直して見えた景色 / Lessons and New Perspectives from Relearning HCP Vault in 2025
aeonpeople
0
190
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Become a Pro
speakerdeck
PRO
29
5.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Agile that works and the tools we love
rasmusluckow
330
21k
Statistics for Hackers
jakevdp
799
220k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
How to Ace a Technical Interview
jacobian
279
23k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Transcript
ϔουϨεChromeͰ ΫϩʔϥΛ࡞ͬͨ”ޙͷ” Roppongi.js #1 Yuji Isobe
Yuji Isobe @yujiosaka ϓϩδΣΫτϚωʔδϟʔ at https://speakerdeck.com/yujiosaka/hitasurale-sitedeipuraningu
ΫϩʔϥΛ࡞ͬͨ࣌ͷ https://speakerdeck.com/yujiosaka/an-gazui-chu-nihetudoresuchromedekurorazuo-tuta-shi-ninannekana
ϔουϨεChromeͱ ✓ Chrome͕ϔουϨεϞʔυͰىಈͰ͖Δ ✓ ChromeͷىಈΦϓγϣϯʹʮ--headessʯΛՃ͑Δ͚ͩ ✓ දతͳϔουϨεϒϥβͱ͍͑PhantomJS ✓ ߴͰ҆ఆͯ͠ಈ࡞͢Δ ✓
ඪ४ͷରԠ͕ૣ͍ʢES2017Async-Await͕͑Δʣ ✓ ओͳ༻్ςετࣗಈԽͱΫϩʔϥ
Headless Chrome Crawler ✓ ϔουϨεChromeͰΫϩʔϥ ✓ ࢄڥͰಈ࡞͢Δ ✓ ਂ͞༏ઌ୳ࡧʢDFSʣͱ ෯༏ઌ୳ࡧʢBFSʣΛαϙʔτ
✓ robots.txt, sitemap.xmlʹै͏ ✓ Puppeteerʹґଘ ✓ Node.jsʢJavaScriptʣ https://github.com/yujiosaka/headless-chrome-crawler
ࠓ࡞ͬͨ”ޙͷ”
GitHub > Insights > Traffic https://twitter.com/yujiosaka/status/967316514322890752
GitHub Trending Repositories ͜ͷลΛ2-3ؒ ͏Ζ͍ͭͯͨ https://github.com/trending
Hit 2000 Stars in 7 days https://github.com/yujiosaka/headless-chrome-crawler > 2000
ເ͕ͬͨ
ظ͍ͯͨ͠ϝϦοτ ✓ ࣭ͷ্ ✓ ։ൃྗͷ্ ✓ ϒϥϯυ্ ✓ ࣄʹͭͳ͕Δ ୭͔ࣄ͘ΕΖ͍ͩ͘͞
ҙ֎ͱࣗݾΞϐʔϧஏ͔͍ͣ͠ ·ͩλΠϙमਖ਼͔͠ૹΒΕͯͳ͍ IssueΒϝʔϧΒରԠ͍͠
ࣄதͣͬͱχϠχϠͰ͖Δ
ຊ ଟ͘ͷਓͷʹཹ·ͬͨϥΠϒϥϦͱ ͦ͏ͳΒͳ͔ͬͨϥΠϒϥϦͷҧ͍Λཧ ※ͨͬͨαϯϓϧ̍ͷ͜ͱͳͷͰʹฉ͍͍ͯͩ͘͞
λʔήοτͷ͞ ✓ ӳޠͰൃ৴͢Δॏཁੑ ✓ READMEΛӳޠͰॻ͍ͨΒ͓ऴ͍Ͱͳ͍ ✓ ʰͯϒϗοτΤϯτϦʔʱΑΓ ʰHacker News Top
Linksʱͷํ͕10ഒྲྀೖ͕͋ͬͨ
ར༻ͷϋʔυϧ ✓ ҰݟͯԿ͕͍ͨ͠ͷ͔ϋοΩϦ͔Δ ✓ Headless Chrome + Crawler = Headless
Chrome Crawler ✓ READMEͰϝϦοτΛҰ൪࠷ॳʹΞϐʔϧ͓ͯ͘͠ ✓ ͦΕͰ͔Βͳ͍ਓ͚ʹɺFAQΛ༻ҙ͢Δ ✓ ͍͍ͩͨͷਓ࠷ॳͷߦ͔͠ಡ·ͳ͍ ✓ ը૾ϩΰͰʮ؆୯͞ʯΞϐʔϧͰ͖Δ
ίʔυϦʔσΟϯάͷϋʔυϧ ✓ examples Λॆ࣮ͤ͞Δ ✓ Ұ൪ಡ·Ε͍ͯͨίϯςϯπ examples ͩͬͨ ✓ πʔϧϑϧ׆༻͢Δ
✓ ESLint ✓ commitlint ✓ EditorConfig ✓ TypeScript / JSDoc support
৴པ ✓ όοδΛϑϧ׆༻ ✓ ࠷৽ͷϏϧυঢ়گ͕ҰͰ͔ΔΑ͏ʹ͢Δ ✓ άϦʔϯ͕ฒΜͰΔͱͳΜ͔҆৺͢Δ ✓ Greenkeeper࠷ڧઆ ✓
࠷ޙͷίϛοτ͕લͷϓϩδΣΫτͱ͔͍ͨ͘ͳ͍ ✓ ͠Β͘αϘͬͯͯɺৗʹίϛοτͰ͖Δ
Happy Niya-niya Hacking!