notes for pyspider

本文介绍了一种针对项目的任务数据库(TaskDB)设计方案,通过为每个项目创建独立的表来存储任务信息,包括任务ID、项目名、URL、状态等关键字段,并通过索引优化查询效率。文中还详细解释了schedule和fetch配置的具体含义。

taskdb

每个project 一张表, 如

sqlite> .schema taskdb_test_meituan
CREATE TABLE `taskdb_test_meituan` (
                taskid PRIMARY KEY,
                project,
                url, status,
                schedule, fetch, process, track,
                lastcrawltime, updatetime
                );
CREATE INDEX `status_taskdb_test_meituan_index` ON `taskdb_test_meituan` (status);

字段意义

sqlite> select url, schedule, fetch from taskdb_test_meituan order by updatetime desc limit 2  ;
http://gj.meituan.com/category/jiafang/all/page1|{"priority": 2}|{"headers": {"Accept-Language": "zh-CN,zh;q=0.8", "Accept-Encoding": "gzip,deflate,sdch", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36", "Connection": "keep-alive", "Cache-Control": "max-age=0"}}
http://www.meituan.com/shop/2010830|{"priority": 2, "age": 172800}|{"headers": {"Accept-Language": "zh-CN,zh;q=0.8", "Accept-Encoding": "gzip,deflate,sdch", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36", "Connection": "keep-alive", "Cache-Control": "max-age=0"}}

schedule: 应该就是class handler 里function @config里的内容
fetech: 是 crawl_config dict

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值