Skip to content

OrangeCY/yspider

Repository files navigation

目的 -。-

抽象练习,搞点有意思的东西。

结构

example 是使用yspider的例子。
server 是web程序
tests 一些测试
yspider 主要框架
worker.py 运行任务队列

抽象

请求 --(framework)-- 解析 -- 保存

基本的功能

在框架这里将请求 响应中间的过程都处理好。包括重试,代理,并发控制,等。
通过框架只需要将自己的业务逻辑搞好就可以。专注于解析 和 构造请求上面。

通过提供的web服务能够将一些易于解析的直接用web传入。 只需要找接口,和对应的解析规则即可。

例子 : 见tests文件下的 test_register_login。   

buffer 将一些数据buffer掉,降低写入次数。

并发 直接使用了 线程池。

一个问题。

还是之前的问题,在yspider.spider中启用多线程的使用在外面包装了一层函数,这个是为了将生成器包起来,否则就需要自己来管理
调度,不管理的话会把整个检查阻塞掉。管理调度很麻烦。包装一层后就变成了系统级的线程,不用自己调度。

todo

增加一个任务分发功能

按照融合好的任务进行分发。

增加队列,请求异步化。

思考保存web端的一些数据,保存爬下来的数据。将不同用户的不同数据返回。

数据融合?

将多个源的任务组合。 比如获取多个酒店的信息,去获取最低价。

About

yspider -- 轻量级爬虫系统

Resources

Stars

Watchers

Forks

Packages

No packages published