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
スクレイピングを(ちょっと)楽したい技術
Search
Aipa
November 02, 2018
Technology
0
100
スクレイピングを(ちょっと)楽したい技術
スクレイピングを(ちょっと)楽したい技術
Aipa
November 02, 2018
Tweet
Share
More Decks by Aipa
See All by Aipa
Amazon Connect で文字起こしする
commander_aipa
0
14
Devinと電話する
commander_aipa
0
21
Gemini CLI x gcloud CLI x Chrome DevTools MCP で、Google Cloudに乗っているアプリケーションのバグFixをいい感じにする
commander_aipa
0
75
ピンチヒッターです。なにか話します
commander_aipa
0
140
おれたちはいつDXできるのか
commander_aipa
1
95
ウンケーニオキタコワイハナシ
commander_aipa
0
150
Nuxt3 Deeeeeeeeeeeeeeeeeeeeeploy
commander_aipa
0
200
Meilisearchでハイブリッドベクトル検索
commander_aipa
0
170
Honoの導入を検討していたが、Honoの人が来沖するらしいので、急いでHonoを導入した話
commander_aipa
0
220
Other Decks in Technology
See All in Technology
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.6k
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
410
私たち準委任PdEは2つのプロダクトに挑戦する ~ソフトウェア、開発支援という”二重”のプロダクトエンジニアリングの実践~ / 20260212 Naoki Takahashi
shift_evolve
PRO
2
210
ランサムウェア対策としてのpnpm導入のススメ
ishikawa_satoru
0
220
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
850
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
270
Agile Leadership Summit Keynote 2026
m_seki
1
670
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
480
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
150
AIが実装する時代、人間は仕様と検証を設計する
gotalab555
1
430
SchooでVue.js/Nuxtを技術選定している理由
yamanoku
3
210
SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史
markie1009
0
170
Featured
See All Featured
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
290
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
250
Speed Design
sergeychernyshev
33
1.5k
Navigating Weather and Climate Data
rabernat
0
110
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
260
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
230
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
120
The Spectacular Lies of Maps
axbom
PRO
1
530
Transcript
εΫϨΠϐϯάΛ ʢͪΐͬͱʣָ͍ٕͨ͠ज़ ࣾ-5ΞΠύʔୂ
͢͜ͱ
͢͜ͱ w Ϋϩʔϥʔ࡞ΔͷΊΜͲ͍͘͞ͷͰɺ͋ΔఔࣗಈԽ͍ͨ͠ w Ξϓϩʔν͕ϧʔϧϕʔεͱɺػցֶशͷख๏͕͋Δ w ࠓճϧʔϧϕʔεͷհ
ࣗݾհʢࠩʣ
ࣗݾհʢࠩʣ w ࢠڙ͕ੜ·Εͨᵋ ɾ㱼ɾ ᵇϔΠ̇ϔΠ̇ᵃ ɾ㱼ɾ ᵏ
൪
൪ w ʁʁʁʣʮ͊ɻ˓˓˓ɻήʔϜΛ࢝ΊΑ͏͔ʯ w ʮϧʔϧ؆୯ͩɺ͜͜ʹ̏ͭͷөը͕͋Δɻ̎࣌ؒҎʹ͜ͷ த͔Β̍ͭөըΛؑ͢Ε͍͍ɻ͠ࢹௌ͠ͳ͔ͬͨΓɺөը ͷ్தʹ৸མͪͯ͠͠·ͬͨΒήʔϜΦʔόʔͩʯ
͊͞ɻԿΛݟΔ͔બ
ਖ਼ղʢશ෦ݟͨͷϥϕϧʣ
Կ͕ݴ͍͍ͨͷ͔ w ҰൠͽʔΔཕөըΛબผ͢ΔྗΛΈʹ͚͍ͭͨ w ࣌ؒͱগֹͷ͕͍ۚͬͨͳ͍ήʔϜΦʔόʔ w ϚχΞཕͰ౿ΜͰΈ͍ͨ w ઌఔͷӈଆͷөըͷΑ͏ʹɺཕΛ౿ΜͰΈ͚ͨͲരൃͲ͜Ζ͔ ݁ߏ໘ന͍өըͩͬͨΓ͢Δ
w ͜ΕΛޮΑ͘ݟ͚͍͖͍ͭͯͨ
Կ͕ݴ͍͍ͨͷ͔ w ҰൠͽʔΔཕөըΛબผ͢ΔྗΛΈʹ͚͍ͭͨ w ࣌ؒͱগֹͷ͕͍ۚͬͨͳ͍ήʔϜΦʔόʔ w ϚχΞཕͰ౿ΜͰΈ͍ͨ w ઌఔͷӈଆͷөըͷΑ͏ʹɺཕΛ౿ΜͰΈ͚ͨͲരൃͲ͜Ζ͔ ݁ߏ໘ന͍өըͩͬͨΓ͢Δ
w ͜ΕΛޮΑ͘ݟ͚͍͖͍ͭͯͨ8FCαʔϏε࡞த
Կ͕ݴ͍͍ͨͷ͔ w ҰൠͽʔΔཕөըΛબผ͢ΔྗΛΈʹ͚͍ͭͨ w ࣌ؒͱগֹͷ͕͍ۚͬͨͳ͍ήʔϜΦʔόʔ w ϚχΞཕͰ౿ΜͰΈ͍ͨ w ઌఔͷӈଆͷөըͷΑ͏ʹɺཕΛ౿ΜͰΈ͚ͨͲരൃͲ͜Ζ͔ ݁ߏ໘ന͍өըͩͬͨΓ͢Δ
w ͜ΕΛޮΑ͘ݟ͚͍͖͍ͭͯͨ8FCαʔϏε࡞த
൪ऴΘΓ w #ڃөըΛϨϏϡʔ͍ͯ͠ΔϒϩάهࣄΛΫϩʔϧ w ϨϏϡʔهࣄʹϥϕϧʢ໘ന͔ͬͨPSͭ·Βͳ͔ͬͨʣ w Ϟσϧߏங w 7VFKTͰαΠτΛߏங
՝ w ΫϩʔϥʔΛఆظ࣮ߦ w εΫϨΠϐϯάͷࣗಈԽ w өըλΠτϧͷਖ਼نԽ w ϨϏϡʔੳͷਫ਼ w
αΠτσβΠϯ
՝ w ΫϩʔϥʔΛఆظ࣮ߦ w εΫϨΠϐϯάͷࣗಈԽ w өըλΠτϧͷਖ਼نԽ w ϨϏϡʔੳͷਫ਼ w
αΠτσβΠϯ
εΫϨΠϐϯάͷࣗಈԽ
εΫϨΠϐϯάͱʢΠϝʔδʣ HTML HTML ᶃ ᶄ ᶅ
ΊΜͲ͍͘͜͞ͱ w αΠτຖʹύʔε͢Δߏ͕ҧ͏ͨΊɺରԠ͢ΔϓϩάϥϜ ͷ༻ҙ w هࣄ63-ͷநग़ w هࣄͷநग़
ΊΜͲ͍͘͜͞ͱ w αΠτຖʹύʔε͢Δߏ͕ҧ͏ͨΊɺରԠ͢ΔϓϩάϥϜ ͷ༻ҙ w هࣄ63-ͷநग़ w هࣄͷநग़
Ξϓϩʔν w ϖʔδ͔Βίϯςϯπ͚ͩΛൈ͖ग़ͨ͢ΊͷγϯϓϧͰ؆୯ͳํ ๏ɻ w <OFX>هࣄͷεΫϨΠϐϯάΛػցֶशͰࣗಈԽ
ϖʔδ͔Βίϯςϯπ͚ͩΛൈ͖ग़ͨ͢Ίͷγϯ ϓϧͰ؆୯ͳํ๏ɻ w ͬ͘͟Γͱ͢Δͱ w େྔͷ8FCϖʔδͷεΫϨΠϐϯάॲཧΛλΠϓ͢Δͷେม w ίϯςϯπ͚ͩΛൈ͖ग़ͤͳ͍͔ w ࣗ࡞؆қ൛ίϯςϯπநग़ϩδοΫΛ࡞ͬͨΑʢ+BWBʣ
ϩδοΫઆ໌ αΠτ͔Βൈਮ w )UNMλάΛͱ͠ɺλάߏͷҐஔΛਂ͞ͱͯ͠ɺ Eͱ͢Δ w λάͷԼʹؚ·ΕΔςΩετྔΛMͱ͢Δ w λάͷԼͷࢠλάɻDͱ͢Δ S
= l 4 3 d 2c
ίʔυ͕͋Δ
Ͱ+BWBͳΜͰ͢Α
ͱ͍͏Θ͚Ͱ
࡞ΔϚϯɾɾɾɾɾɾɾ
Ͱ͖ͨϚΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞϯ
6TBHF 1 from trimmer_py.trimmer_py import search_max_score_tag 2 from urllib import
request 3 4 if __name__ == '__main__': 5 url = 'http://teenssexandwarmode.hatenablog.com/entry/2018/10/10/042129' 6 with request.urlopen(url) as f: 7 html = f.read() 8 # return bs4 object. 9 t = search_max_score_tag(html) 10 print(t.text)
ݕূ݁Ռ w దʹर͖ͬͯͨϒϩάهࣄ̑αΠτ͙Β͍͏·͍ͬͨ͘ w ࣗ࡞ΫϩʔϥʔʹΈࠐΜͩΒλΠτϧ࿙Εͱ͔͚͋ͬͨͲɺ΄ ΅΄΅͏·͍ͬͨ͘ʢ̐αΠτɾɾɾɻαϯϓϧ͕গͳ͍ʣ w ·͊Αͦ͞͏
ݕূ݁Ռ
ࡶײ
ࡶײ w هࣄͷऔಘϧʔϧϕʔεͰࣗಈԽͰ͖ͨ w هࣄҰཡͷऔಘࣗಈԽ͍ͨ͠ͳɻߟ͑Δ w #ڃϥΠϑΛόϥ৭ʹ͢ΔͨΊʹࣗવݴޠॲཧͷษڧΛؤுΔ