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
medcl
September 24, 2017
Technology
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
又一个爬虫
OSC 重庆的放码过来分享环节(闪电分享)。
medcl
September 24, 2017
More Decks by medcl
See All by medcl
Elasticsearch 在智能运维领域的运用
medcl
0
350
Elastic Stack- Past, Present, & Future
medcl
0
68
A Spider Written in Golang
medcl
1
83
Introduction to Beats and extending Beats
medcl
0
110
Elasticsearch & Bigdata
medcl
2
230
Elastic Stack V5
medcl
0
110
Elastic Stack V5
medcl
0
81
基于Elastic Stack的数据探索与分析@QConBeijing2016
medcl
1
440
Introduction to Elasticsearch @ FOSSASIA2016
medcl
0
7.6k
Other Decks in Technology
See All in Technology
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
0
250
プロダクト開発組織の現在地(Ver.2026/07) / product-organization
kaonavi
0
120
AIと共生する開発者プラットフォーム:バクラクのモノレポ×マイクロサービス基盤
sakajunquality
2
4k
SoccerMaster: A Vision Foundation Model for Soccer Understanding
kzykmyzw
0
150
Kaggleで成長するために意識したこと
prgckwb
2
420
AI、CDK と協働する Full TypeScript アプリケーション開発 / Full TypeScript Application with AI and CDK
geekplus_tech
2
410
「顧客の声を聞かなければ何も始まらない」 ── 顧客の声から生まれた『AI返信補助機能』の開発プロセス / AICon2026_shikata_imai
rakus_dev
0
160
ガバナンスの「ちょうどいい落とし所」を探れ!開発スピードを妨げない運用判断の勘所 / SRE NEXT 2026
genda
1
260
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
2
130
仕様駆動開発、導入半年。「本当に速くなってるの?」にデータで答える / AICon2026_hirakawa
rakus_dev
0
180
穢れた技術選定について
watany
18
5.7k
Amplify Gen2でbackend.tsにCDKを定義する/しない事によるCDKの挙動の違いとユースケース
smt7174
1
440
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.4k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.6k
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
New Earth Scene 8
popppiees
3
2.4k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
360
The Invisible Side of Design
smashingmag
301
52k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
500
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
310
Deep Space Network (abreviated)
tonyrice
0
230
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.6k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
600
Transcript
⼜又⼀一个爬⾍虫 曾勇(Medcl)
2 什什么是爬⾍虫 • ⼜又叫 Robot、Bot 或 Crawler • 简单来说 ‒
⾃自动探索⽹网站 ‒ 帮你访问整个站点 ‒ ⾃自动为你收集⽹网站信息 ‒ ⾃自动更更新 ‒ 抽取处理理⽹网⻚页内容 ‒ 存储索引和快照 ‒ 。。。
3 为什什么造这个轮⼦子? 现在已经有很多开源的爬⾍虫了了: Scrapy,Nutch, Heritrix 等等 . [1,2,3] 但是! •
⼤大多仅仅是⼀一个爬⾍虫框架!ES 与 Lucene • 需要熟悉各种与爬取任务本身⽆无关的知识! • 开发和部署的环境复杂,痛苦! • 太重了了! • 分布式、管理理、监控、扩展复杂! • 结果就是⼀一⼤大堆凌乱⽆无法维护的脚本,或是⼀一 ⼤大堆技术拼凑的⼤大杂烩。 1.http://bigdata-madesimple.com/top-50-open-source-web-crawlers-for-data-mining/ 2.https://github.com/BruceDone/awesome-crawler 3.https://gitee.com/explore/starred/spider
4 所以 • 狗爬,Gopa Golang + pá chóng(爬⾍虫) https://gitee.com/medcl/gopa
5 ⽬目标 • 轻量量级,内存占⽤用 < 100MB • 易易于部署,⽆无运⾏行行时和环境依赖 • ⽅方便便使⽤用,⽆无需编程和脚本技能
• 开箱即⽤用 • 提供 RESTful API 和 UI • 简单,可伸缩,可扩展
DEMO
7 Pending Check, Pending Fetch, Pending Index Checker Crawler Pipeline
Framework Database Storage Filter Index Persistence Layer API UI Dispatcher Communication Message Queue Network Internet Dynamic pipeline based on configuration GOPA overview
谢谢! https://gitee.com/medcl/gopa
9 Elastic Integration Overview DISTRIBUTED CRAWLING Elasticsearch Clustering not ready
yet Transform Store ingest node data node Logstash 3rd Applications Optional processing Web Content Kibana Raft
None
None
None
None
None