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
matumoto
May 07, 2022
Technology
0
29
クローラーを作った話
2022/5月に行われたすごくなりたいがくせいLT Vo.16での発表資料です
イベントページはこちら
https://teens.connpass.com/event/246542/
matumoto
May 07, 2022
Tweet
Share
More Decks by matumoto
See All by matumoto
testingを眺める
matumoto
1
170
sync/v2 プロポーザルの 背景と sync.Pool について
matumoto
0
570
Goトランザクション処理
matumoto
1
59
いまいちどスライスの 挙動を見直してみる
matumoto
0
370
Go1.22のリリース予定の機能を見る
matumoto
0
70
GoのUnderlying typeについて
matumoto
0
210
Typed-nilについて
matumoto
0
350
GoのType Setsという概念
matumoto
0
33
GoのRateLimit処理の実装
matumoto
0
440
Other Decks in Technology
See All in Technology
Claude Codeを使った情報整理術
knishioka
17
11k
2025年の医用画像AI/AI×medical_imaging_in_2025_generated_by_AI
tdys13
0
280
BidiAgent と Nova 2 Sonic から考える音声 AI について
yama3133
2
140
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
58k
Agentic AIが変革するAWSの開発・運用・セキュリティ ~Frontier Agentsを試してみた~ / Agentic AI transforms AWS development, operations, and security I tried Frontier Agents
yuj1osm
0
180
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
12k
AI時代のアジャイルチームを目指して ー スクラムというコンフォートゾーンからの脱却 ー / Toward Agile Teams in the Age of AI
takaking22
3
1k
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
170
AWSインフルエンサーへの道 / load of AWS Influencer
whisaiyo
0
250
AWS re:Invent2025最新動向まとめ(NRIグループre:Cap 2025)
gamogamo
0
150
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
140
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
2
650
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
98
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
[SF Ruby Conf 2025] Rails X
palkan
0
660
WENDY [Excerpt]
tessaabrams
9
35k
Building an army of robots
kneath
306
46k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
84
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
240
Why Our Code Smells
bkeepers
PRO
340
58k
Visualization
eitanlees
150
16k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.8k
Fireside Chat
paigeccino
41
3.8k
Transcript
競プロの 提出クローラーを作った
自己紹介 • ハンドルネーム:matumoto • 本名:松本響輝 • 学年:28期 • 趣味:漫画アプリで毎日更新の漫画を読む •
今興味のある技術: • やってきた技術: ◦ ゲーム作り ◦ フロントエンド ◦ AtCoder 水💧 • Twitter:@matumoto_1234
今回つくったもの
None
None
None
https://github.com/matumoto1234/cp-crawler
きっかけ
提出を検索したかった
• 任意のユーザーの提出コードから文字列検索を行う ◦ サービス名はac-predictorを意識してac-searcherとかにしたいなあとか思ってた ◦ 先人がいた 先人がいた
None
クローラーを作ろう! • クローラーを公開してcloneとかよしなにしてもらえばよさそう
クローラーをつくる
参考 • https://github.com/key-moon/compro
機能 • 各サイトのACのソースコードを持ってくる ◦ ACするソースコードが複数ある場合も複数持ってくる • headerとしてファイルの先頭行に提出のURLをコメントアウトしてのっ ける • GitHubActionsのcronで定期実行させる
• 本家の方では提出ファイルの先頭行に `ignore` があったらクロールし ない機能があるが、それは実装しない
構成 • https://github.com/key-moon/compro の構成
構成
構成
TODO: なおす • エラー管理がかなり雑 ◦ スクレイピング先がNot Foundとかだったりすると、そこでログを出 力するようにしちゃった • 言語と拡張子が違う
◦ C++の提出なのに拡張子がなぜか.cだったりする
使ってみたい人向け
やってくれ~~ • cloneして、いまある提出(atcoder/)の部分を消して、variables.goを少 し編集するだけ ◦ AtCoderUserName の部分とかを変更する ◦ secrets.GIT_EMAIL とかを設定する
ご清聴ありがとうございました ほんとは別言語で再実装する予定だった