功能
爬虫技术
-
抓取
直接请求: HttpClient, requests
模拟请求: Selenium, Pyppeteer
抓取是爬虫中比较难的一部分。request + selenium 已经可以满足90%的需求,不需要了解js 逆向
-
文本抽取
- Jsoup: 解析css 表达式
- xpath: 解析xml
- Jsonpath: 解析Json
- 正则表达式: 文本抽取
-
反爬技术:
- Cookie, Referer:
- 验证码: 文本验证码,图片滑动验证码,行为验证码,厂商代表极验,
有专业的打码平台 - js 反爬: 加速乐,瑞数,Akamai,5s盾
- 字体反爬:把文本作成字库, css 字体反爬
- 样式动态生成: Google, Facebook 动态样式
- ja3指纹
定时任务调度 & 分布式
基于数据库,Redis实现
模板管理 & 任务异常检查 & 日志
指网站发生变化,模板采不到数据,需要重新配模板。
模板异常的监控,现在都是事后型,在是数据库中查,最近2天没有数据采下来,而网站有新数据,判断模板异常。
预警型:指定重要字段,如果采集发生问题,立马发邮件,这样发现及时且不需要人工干预。
开源作品
- spider-flow java 开发,拖拽式生成爬虫流程。虽然版本号0.5, 软件完成度还是很高的。
- webMagic java 开发,需要编写代码,有分布式任务,JMX 任务检查
- pyspider python版早期爬虫, 有web 界面,现停止更新。
竞品分析(付费版)
- 简化配模板的工作:动态识别(列表页,翻页,详情页)。字段拖拽识别,生成字段表达式。代表后羿,八爪鱼,
- 强化分布式,模板异常监控:需要有一定的编程能力。生成代码,适合程序员使用。代表: crawlab, feapder
安全
2021年9月,国家出台《数据安全法》,加强对爬虫数据管理。
国内的爬虫管制还是比较严的。国外相对比较宽松,去年linkedin 爬虫案,爬虫方最后赢了诉讼。
出海
目前国内的政策环境,反爬技术上来说,对爬虫来说,都不是很友好,比较卷,一个爬虫案子,100,200元多的是,500 以上,都是有难度的,ocr识别,反爬严重,如大众点评,要到1000多的,基本都需要js 逆向。而国外的反爬技术不严重,政策也比较宽松。
优秀个人
- 崔庆才
著有《python3 网站爬虫实战》,公众号:进击的 Coder,爬虫架构师,有开源作品: 但有bug. - 青南
著有《python 爬虫开发从入门到实战》,有爬虫课程,有公众号,“未闻code” - k哥反爬
专注js 逆向,有公众号“k歌爬虫”,有github, github有不少站点的案例。