python html5 bootstrap 视频教程

德云社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5137|回复: 0

PySpider──Apache 许可 Python 编写的 JavaScript 开源 Web 爬虫系统

[复制链接]

63

主题

91

帖子

417

积分

中级技师

Rank: 3Rank: 3

金钱
257
金币
4
威望
0
贡献
0
发表于 2015-11-23 18:30:29 | 显示全部楼层 |阅读模式
AI人工智能 语音助理 人工翻译 教程
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、强大的调度控制功能;


demo.jpg

简单示例代码

  1. from pyspider.libs.base_handler import *


  2. class Handler(BaseHandler):
  3.     crawl_config = {
  4.     }

  5.     @every(minutes=24 * 60)
  6.     def on_start(self):
  7.         self.crawl('http://scrapy.org/', callback=self.index_page)

  8.     @config(age=10 * 24 * 60 * 60)
  9.     def index_page(self, response):
  10.         for each in response.doc('a[href^="http"]').items():
  11.             self.crawl(each.attr.href, callback=self.detail_page)

  12.     def detail_page(self, response):
  13.         return {
  14.             "url": response.url,
  15.             "title": response.doc('title').text(),
  16.         }
复制代码

版本历史

# 时间 版本 新功能 备注
01 V0.4.0 本地模式,从文件加载脚本;
作为框架进行工作 (所有组件运行在一进程中,而非线程);
支持 redis 数据库;
可视扒取接口,类似可视网站扒取工具 Portia。

版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。

AI人工智能 语音助理 人工翻译 教程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|Sitemap|小黑屋|德云社区 |网站地图  

GMT+8, 2024-11-23 12:15 , Processed in 0.042311 second(s), 31 queries .

工业和信息化部: 粤ICP备14079481号-2

技术支持 乐数软件     版权所有 © 2014-2021 德云社区    

快速回复 返回顶部 返回列表