Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/binux/pyspider
A Powerful Spider(Web Crawler) System in Python.
https://github.com/binux/pyspider
crawler python
Last synced: 2 months ago
JSON representation
A Powerful Spider(Web Crawler) System in Python.
- Host: GitHub
- URL: https://github.com/binux/pyspider
- Owner: binux
- License: apache-2.0
- Archived: true
- Created: 2014-02-21T19:18:47.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2024-04-30T19:43:29.000Z (8 months ago)
- Last Synced: 2024-09-26T08:15:56.539Z (3 months ago)
- Topics: crawler, python
- Language: Python
- Homepage: http://docs.pyspider.org/
- Size: 3.98 MB
- Stars: 16,468
- Watchers: 895
- Forks: 3,688
- Open Issues: 303
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome - pyspider - A Powerful Spider(Web Crawler) System in Python. (Python)
- awesome-crawler-cn - pyspider - 一个强大纯python的数据采集系统. (Python)
- awesome-data-science-viz - pyspider
- awesome-python-resources - GitHub - 32% open · ⏱️ 02.08.2020): (HTML 处理)
- awesome-list - pyspider - A Powerful Spider(Web Crawler) System in Python. (Data Processing / Data Pre-processing & Loading)
- awesome-crawler - pyspider - A powerful spider system. (Python)
- awesome-discoveries - pyspider - a powerful spider (web crawler) system _(`Python`)_ (DevOps Utilities)
- awesome-python-again -
- my-awesome - binux/pyspider - 04 star:16.5k fork:3.7k A Powerful Spider(Web Crawler) System in Python. (Python)
- project-awesome - binux/pyspider - A Powerful Spider(Web Crawler) System in Python. (Python)
- StarryDivineSky - binux/pyspider
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](https://www.mysql.com/), [MongoDB](https://www.mongodb.org/), [Redis](http://redis.io/), [SQLite](https://www.sqlite.org/), [Elasticsearch](https://www.elastic.co/products/elasticsearch); [PostgreSQL](http://www.postgresql.org/) with [SQLAlchemy](http://www.sqlalchemy.org/) as database backend
- [RabbitMQ](http://www.rabbitmq.com/), [Redis](http://redis.io/) and [Kombu](http://kombu.readthedocs.org/) 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/](http://docs.pyspider.org/en/latest/tutorial/)
Documentation: [http://docs.pyspider.org/](http://docs.pyspider.org/)
Release notes: [https://github.com/binux/pyspider/releases](https://github.com/binux/pyspider/releases)Sample Code
-----------```python
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
------------* `pip install pyspider`
* run command `pyspider`, visit [http://localhost:5000/](http://localhost:5000/)**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](http://docs.pyspider.org/en/latest/Command-Line/#-config).
Quickstart: [http://docs.pyspider.org/en/latest/Quickstart/](http://docs.pyspider.org/en/latest/Quickstart/)
Contribute
----------* Use It
* Open [Issue], send PR
* [User Group]
* [中文问答](http://segmentfault.com/t/pyspider)TODO
----### v0.4.0
- [ ] a visual scraping interface like [portia](https://github.com/scrapinghub/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