爬虫

Pyspider框架(一)

2019-06-17  本文已影响0人  梦捷者

一、pyspider框架的介绍

1.简介

pyspider官方文档:http://docs.pyspider.org/en/latest/
pyspider 是个强大的爬虫系统框架,并且只用python代码来写的。

2.安装

(1)在ubuntu下安装
如果使用ubuntu,首先要安装一些依赖库,请先运行sudo apt update 再运行sudo apt upgrade 更新,再执行下面的命令。

apt-get install python python-dev python-distribute python-pip \
libcurl4-openssl-dev libxml2-dev libxslt1-dev python-lxml \libssl-dev zlib1g-dev

(上面的操作直接在ubuntu上操作,不需要进入虚拟环境下进行)然后在相应的虚拟环境下进行·pip install pyspider命令进行安装;最后删除wsgidav 然后重新安装2.4.1版本,运行pyspider。

(2)在windows下安装
首先去https://www.lfd.uci.edu/~gohlke/pythonlibs/下载依赖包。
下载pycurl进行安装(pip insatll 下载文件的路径即可进行安装)。


windows 下安装成功(pip insatll pyspider),运行报如下错误:
 Deprecated option 'domaincontroller': use 
'http_authenticator.domain_controller' instead

解决方案:
删除wsgidav 然后重新安装2.4.1版本。(在自己创建的虚拟环境下进行操作)

二、pyspider框架入门

1.启动pyspider

安装好pyspider后,创建一个项目文件夹用来存放相关文件,进入文件夹后运行pyspider命令(这个时候就会在这个文件夹下面创建一个data文件夹),默认情况下会运行一个web服务端监听5000端口,通过http://localhost:5000即可访问pyspider的web管理界面,它看起来是这样的:

注意:用ctrl+c来停止运行

2.创建一个项目

点击右边的Create按钮,在弹出框里,填写项目名称,和起始url

创建完成后,窗口右边部分为代码编辑器,在这里你可以编写你的爬虫脚本。
注意:要进行运行的时候,先设置statusDEBUG状态,然后才进行运行脚本。

3.第一个脚本

from pyspider.libs.base_handler import *

class Handler(BaseHandler):
    crawl_config = {
    }

    @every(minutes=24 * 60)
    def on_start(self):#脚本的入口,当我们开始点击run进行运行的时候,就会执行此函数(或者说是这个函数被调用)。
        self.crawl('http://scrapy.org/', callback=self.index_page)#和Scrapy.Request是一样的作用,它的作用是添加一个带爬取的任务(参数含有任务地址和回调函数),

    @config(age=10 * 24 * 60 * 60)#代表10天重复爬取(调用此函数)-----即对于相同的页面10天就会重新爬取一次。
    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(),
        }

你可以通过点击绿色的run按钮,一步一步的调试你的脚本。切换到follows面板,点击play按钮前进。(以下链接相当于就是一个任务)

注意:如果遇到数字证书错误的话记得在self.crawl()里加入参数validate_cert=False即可忽略

4.运行项目

  1. 保存脚本
  2. 返回后台首页,找到你的项目
  3. 改变statusDEBUGRUNNING
  4. 点击按钮run
上一篇 下一篇

猜你喜欢

热点阅读