抽象练习,搞点有意思的东西。
example 是使用yspider的例子。
server 是web程序
tests 一些测试
yspider 主要框架
worker.py 运行任务队列
请求 --(framework)-- 解析 -- 保存
基本的功能
在框架这里将请求 响应中间的过程都处理好。包括重试,代理,并发控制,等。
通过框架只需要将自己的业务逻辑搞好就可以。专注于解析 和 构造请求上面。
通过提供的web服务能够将一些易于解析的直接用web传入。 只需要找接口,和对应的解析规则即可。
例子 : 见tests文件下的 test_register_login。
buffer 将一些数据buffer掉,降低写入次数。
并发 直接使用了 线程池。
还是之前的问题,在yspider.spider中启用多线程的使用在外面包装了一层函数,这个是为了将生成器包起来,否则就需要自己来管理
调度,不管理的话会把整个检查阻塞掉。管理调度很麻烦。包装一层后就变成了系统级的线程,不用自己调度。
todo
按照融合好的任务进行分发。
思考保存web端的一些数据,保存爬下来的数据。将不同用户的不同数据返回。
将多个源的任务组合。 比如获取多个酒店的信息,去获取最低价。