PySpider──Apache 许可 Python 编写的 JavaScript 开源 Web 爬虫系统
PySpider──Apache 许可 Python 编写的 JavaScript 开源 Web 爬虫系统PySipder 是一个用 Python 编写的专业开源 Web 爬虫系统。PySipder 采用 Apache v2 许可协议。
主要特点如下:
01、用 Python 编写脚本,可用任何 HTML 解析包 (内置 pyquery),提供强大的 API;
02、强大的 Web UI 界面编写调试/起停脚本、脚本编辑、监控执行状态、项目管理、查看历史记录及结果;
03、支持采用 SQLAlchemy 作后台的数据库,包括:MySQL、MongoDB、Redis、SQLite、PostgreSQL;
04、支持采用 RabbitMQ、Beanstalk、Redis 及 Kombu 作消息队列;
05、支持任务优先级、重试、定期抓取、按时间重新抓取等;
06、分布式架构,组件可替换,支持 “单机/分布式” 部署,支持 Docker 部署;
07、支持抓取 JavaScript 页面;
08、支持 Python 2.x & 3.x;
09、强大的调度控制功能;
简单示例代码
from pyspider.libs.base_handler import *
class Handler(BaseHandler):
crawl_config = {
}
@every(minutes=24 * 60)
def on_start(self):
self.crawl('http://scrapy.org/', callback=self.index_page)
@config(age=10 * 24 * 60 * 60)
def index_page(self, response):
for each in response.doc('a').items():
self.crawl(each.attr.href, callback=self.detail_page)
def detail_page(self, response):
return {
"url": response.url,
"title": response.doc('title').text(),
}
版本历史
# 时间 版本 新功能 备注
01 V0.4.0 本地模式,从文件加载脚本;
作为框架进行工作 (所有组件运行在一进程中,而非线程);
支持 redis 数据库;
可视扒取接口,类似可视网站扒取工具 Portia。
版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。
页:
[1]