8000 GitHub - Within-7/pyspider: A Powerful Spider(Web Crawler) System in Python.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
forked from binux/pyspider

A Powerful Spider(Web Crawler) System in Python.

License

Notifications You must be signed in to change notification settings

Within-7/pyspider

 
 

Repository files navigation

Features:

  1. 新增从Github webhook导入爬虫源码
  • API:/debug/github/<branch>/webhook
  • 使用时,需要现在webui所在的服务器配置ssh key, 然后将公钥填到github账号的ssh keys里面
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

$ ssh-keygen -t ed25519 -C "your_email@example.com"

pyspider Build Status Coverage Status

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

About

A Powerful Spider(Web Crawler) System in Python.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 85.7%
  • JavaScript 7.7%
  • Jinja 2.3%
  • HTML 1.6%
  • Less 1.6%
  • Lua 0.9%
  • Other 0.2%
0