binux
pyspider
Python

A Powerful Spider(Web Crawler) System in Python.

Last updated Jul 8, 2026
16.8k
Stars
3.6k
Forks
300
Issues
0
Stars/day
Attention Score
77
Language breakdown
Python 85.5%
JavaScript 8.1%
HTML 3.6%
CSS 1.7%
Lua 0.9%
Dockerfile 0.2%
โ–ธ Files click to expand
README

pyspider [![Build Status]][Travis CI] [![Coverage Status]][Coverage] ========

A Powerful Spider(Web Crawler) System in Python.

  • Write script in Python
  • Powerful WebUI with script editor, task monitor, project manager and result viewer
  • MySQL, MongoDB, Redis, SQLite, Elasticsearch; PostgreSQL with SQLAlchemy as database backend
  • RabbitMQ, Redis and Kombu as message queue
  • Task priority, retry, periodical, recrawl by age, etc...
  • Distributed architecture, Crawl Javascript pages, Python 2.{6,7}, 3.{3,4,5,6} support, etc...
Tutorial: http://docs.pyspider.org/en/latest/tutorial/ Documentation: http://docs.pyspider.org/ Release notes: https://github.com/binux/pyspider/releases

Sample Code


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(), }

Installation


WARNING: WebUI is open to the public by default, it can be used to execute any command which may harm your system. Please use it in an internal network or enable need-auth for webui.

Quickstart: http://docs.pyspider.org/en/latest/Quickstart/

Contribute


TODO


v0.4.0

  • [ ] a visual scraping interface like portia

License


Licensed under the Apache License, Version 2.0

[Build Status]: https://img.shields.io/travis/binux/pyspider/master.svg?style=flat [Travis CI]: https://travis-ci.org/binux/pyspider [Coverage Status]: https://img.shields.io/coveralls/binux/pyspider.svg?branch=master&style=flat [Coverage]: https://coveralls.io/r/binux/pyspider [Try]: https://img.shields.io/badge/try-pyspider-blue.svg?style=flat [Issue]: https://github.com/binux/pyspider/issues [User Group]: https://groups.google.com/group/pyspider-users

ยฉ 2026 GitRepoTrend ยท binux/pyspider ยท Updated daily from GitHub