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
F#でスクレイピングをしてみた!(F# SCRAPING)
Search
callmekohei
July 02, 2016
Programming
1
930
F#でスクレイピングをしてみた!(F# SCRAPING)
2016/07/03開催のF#談話室(23)の発表資料です。
callmekohei
July 02, 2016
Tweet
Share
Other Decks in Programming
See All in Programming
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
530
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
150
詳しくない分野でのVibe Codingで困ったことと学び/vibe-coding-in-unfamiliar-area
shibayu36
3
5k
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
110
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
150
CSC305 Lecture 04
javiergs
PRO
0
270
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
3.3k
技術的負債の正体を知って向き合う / Facing Technical Debt
irof
0
170
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
410
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
430
開発生産性を上げるための生成AI活用術
starfish719
3
1k
CSC305 Lecture 06
javiergs
PRO
0
230
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
BBQ
matthewcrist
89
9.8k
Being A Developer After 40
akosma
91
590k
Transcript
F# SCRAPING F#ͰεΫϨΠϐϯάΛͯ͠Έͨʂ callmekohei 2016/07/03 Sun
Overview • ࣗݾհ • εΫϨΠϐϯάͷ͖͔͚ͬ • HTMLͷ2ͭͷऔಘํ๏ • HTML͔ΒσʔλʔΛͱΓͩͯ͠ΈΔ
callmkohei VBA 3 years F# 9 months ͷ໊લ ϨΦɻ ΑΖ͘͠Ͷʂ
εΫϨΠϐϯάͷ͖͔͚ͬ
͜Μͳײ͡Ͱ ϩτ̓ͷ༧ଌΛ ͍ͨ͠
ϩτ̓ͷબ൪߸Λ ϗʔϜϖʔδΑΓ ೖख͍ͨ͠
None
ϗʔϜϖʔδ HTMLιʔεͰ Ͱ͖͍ͯΔ
None
ϗʔϜϖʔδͷσʔλʔΛ औಘ͢Δʹ HTMLιʔε͕ඞཁ
Ͳ͏ͬͯ HTMLιʔεΛ औಘ͢Δ͔
HTMLιʔεΛऔಘ͢Δ̎ͭͷํ๏
ͦͷ̍ System.NetΛ͔ͭ͏
ͦͷ̎ PhantomJS Λ͔ͭ͏
جຊతʹ System.NetͷΈͰ େৎʢͩͱࢥ;ɻɻɻʣ ͜͜ ߟ͑Ͳ͜Ζ
Ͳ͏্ͯ͠ख͘ औಘͰ͖ͳ͍߹ PhantomJSΛͬͯΈΔ
ͨͩ PhantomJS ͍ͷͰ͢
αʔόʔͷଓൺֱ System.Net: 2s PhantomJS: 7s ࣮ߦ࣌ؒࢀߟ
͜͜Ͱ ࣮ࡍʹαʔόʔʹ ͭͳ͛ͯΈΔ demo
HTMLιʔε͔Β σʔλʔΛ ͱΓͩͯ͠ΈΔ
͜͜Ͱ ศརͳ ϥΠϒϥϦ FSharp.Data
FSharp Data ͱʁ The F# Data library implements everything you
need to access data in your F# applications and scripts. CSV, HTML, JSON and XML ʹରͯ͠ͷศརϥΠϒϥϦ http://fsharp.github.io/FSharp.Data/
a tag
͜͜Ͱ a tag Λ ͱΓͩͯ͠ΈΔ demo
table tag
͜͜Ͱ table tag Λ ͱΓͩͯ͠ΈΔ demo
εΫϨΠϐϯά͢Δͱ͖ʹ ศརͩͱࢥ͏ؔΛ ·ͱΊͯΈͨ
SCRAPINGfs https://github.com/callmekohei/SCRAPINGfs
͞Βʹɺɺ
FSharp.Data HtmlDocument.Load ͍͚ͯͳ͍ͱࢥͬͯΔͱ͜Ζ
ϒϥβʔ͡Όͳ͍ͱ͔͡ΕΔ จࣈίʔυ͕͏·͘ॲཧ͞Εͳ͍ Http Utilities Λ͏͜ͱͰղܾʂ
Formॲཧ͕Ͱ͖ͳ͍
Formॲཧ͕Ͱ͖ͳ͍ Http Utilities Λ͏͜ͱͰͪΐͬͱղܾʂ
Formॲཧ͕Ͱ͖ͳ͍ System.Net Λ͏͜ͱͰղܾʂ
؆୯ͳൺֱද
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠