Index
简介
Palp 是一个爬虫框架
整体使用方式和 scrapy 类似,但有以下特点
- 同一个项目可以存放多个不同的 spider,spider 可以拥有各自的 settings
- 无感分布式,随时添加 slave,不需要内网,只需要 redis,分布式与非分布式仅继承的类不同
- master 仅分发任务,无真正的 master,死机自动切换
- 自动 cookiejar 仅需要使用 keep_cookie 即可
- 自带 requests(默认)、httpx 两种请求器,并可自定义请求器(同时需要自定义解析器)
- 自动 join response url
- 数据、任务失败后自动回收,启动自动接续(需开启对应设置)
- 成功、失败任务自动统计到 request_record
- 分布式时,大量任务的 cookie、参数 复用
- 内含 JumpSpider(辅助型) 用于执行频繁的验证、登录操作等,简化代码逻辑
- 内含 Checker,可以用来判断网站状态,并选择阻拦新请求直到恢复或停止 spider 执行
但有以下注意点:
- 默认不去重,但是默认是优先级队列,分布式时的 redis zset 具备一定的去重效果
- 开启去重时,去重一般为普通去重(默认),也有严格去重(需开启),严格去重时,会有锁、分布式锁
安装
pip install palp