PySpider - Python 爬虫程序


Apache
跨平台
Python

软件简介

PySipder 是一个 Python 爬虫程序

演示地址:http://demo.pyspider.org/

  • 使用 Python 编写脚本,提供强大的 API

  • Python 2&3

  • 强大的 WebUI 和脚本编辑器、任务监控和项目管理和结果查看

  • 支持 JavaScript 页面

  • 后端系统支持:MySQL, MongoDB, SQLite, Postgresql

  • 支持任务优先级、重试、定期抓取等

  • 分布式架构

示例代码:

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[href^="http"]').items():
            self.crawl(each.attr.href, callback=self.detail_page)

    def detail_page(self, response):
        return {
            "url": response.url,
            "title": response.doc('title').text(),
        }