A Powerful Spider(Web Crawler) System in Python
PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI。采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器,任务监视器,项目管理器以及结果查看器。
pip install pyspider
安装完成后运行以下命令运行pyspider程序
pyspider
注意:pyspider命令默认会以all模式运行所有的组件,方便调试。作者建议在线上模式分开部署各各组件,详情请查看部署章节
运行成功后用浏览器打开 http://localhost:5000/ 访问控制台
在web控制台点create按钮新建任务,项目名自定义。本例项目名为test。
保存后打开代码编辑器(代码编辑器默认有简单的实例代码)
右侧就是代码编辑器,以后可以直接在这添加修改代码。本实例就直接使用以自带的代码吧。代码如下
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# Created on 2015-10-08 12:45:44
# Project: test
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)
@config(priority=2)
def detail_page(self, response):
return {
"url": response.url,
"title": response.doc('title').text(),
}
pyspider 爬虫教程(一):HTML 和 CSS 选择器 pyspider 爬虫教程(二):AJAX 和 HTTP pyspider 爬虫教程(三):使用 PhantomJS 渲染带 JS 的页面 pyspider爬京东商品信息案例分享 巧用send_message提高pyspider的抓取速度及避免被封IP 如何把采集结果存入mysql
在线使用Dashboard - pyspider
看到国人自己写的爬虫框架,一点也不别Scrapy差,你说呢
其实我在想,能不能自己写个框架出来:)
Pyspider binux/pyspider 官方文档 pyspider
本文分享自 Python爬虫与算法进阶 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!