• PySpider安装与使用(Windows系统下)


    PySpider

    Begin

    安装pip install pyspider

    在windows系统好像会出现如下问题

    Command "python setup.py egg_info" failed with error code 10 in  
    

    解决方法:

    利用wheel安装

    S1: pip install wheel
    S2: 进入www.lfd.uci.edu/~gohlke/pythonlibs/,Ctrl + F查找pycurl


    S3:
    这个包名是pycurl-版本-你下载的python版本(如python3.4,就是cp34)-win32/64操作系统),选择你所需要的进行下载
    S4: 安装编译包,命令行输入 pip install 你下载的whl文件的位置如(d:pycurl-7.43.1-cp34-cp34m-win_amd64.whl)
    S5: 继续pip install pyspider


    ####Use

    命令行输入pyspider all,启动pyspider(启动的时候可能一直卡在result_worker starting, 这个时候先等等, 然后再Ctrl + C关闭, 再次 pyspider all)

    接着进入网站localhost:5000,出现如下页面

    接着点击Create,输入项目名和你所要爬的网站

    进入项目后左边是视图区,可以看很多东西;右边是代码编辑区

    接着讲讲代码使用

    #!/usr/bin/env python
    # -*- encoding: utf-8 -*-
    # Created on 2018-01-13 10:23:04
    # Project: test
    
    from pyspider.libs.base_handler import *
    
    
    class Handler(BaseHandler):
        crawl_config = {
        }
    
        @every(minutes=24 * 60)
        def on_start(self):
            self.crawl('https://scrapy.org/', callback=self.index_page)#这句代码的意思是爬取'https://scrapy.org/',进入之后回调,触发self.index_page函数,这个时候response就是获取到的页面
    
        @config(age=10 * 24 * 60 * 60)
        def index_page(self, response):
            for each in response.doc('a[href^="http"]').items():#这里的response.doc语法使用的是jQuery的语法,获取属性href前缀为http的a标签(这里使用的CSS选择器语法)
                self.crawl(each.attr.href, callback=self.detail_page)#接着爬取所有获取到的a标签链接,每访问一个,触发回调函数self.detail_page,这个时候的response就是访问的当前网站的html页面
    
        @config(priority=2)
        def detail_page(self, response):
            #这里返回一个对象
            return {
                "url": response.url,
                "title": response.doc('title').text(),
            }
    
    

    相关资料:
    https://segmentfault.com/a/1190000002477863 这里三篇教程都很好,可以以它为实例,
    http://www.pyspider.cn/book/pyspider/pyspider-Quickstart-2.html 当然还有必不可少的官方文档!

  • 相关阅读:
    WinCE 测试网速
    YII 关联表查询
    YII CMenu配置
    php扩展开发笔记1
    使用Mysql EXPLAIN分析、优化SQL语句
    使用Mysql EXPLAIN分析、优化SQL语句 (续)
    jquery提交中文导致乱码
    *nix 命令记(持续更新)
    php 函数中使用static
    xmlhttprequest获取TransferEncoding:chunked分时编码输出
  • 原文地址:https://www.cnblogs.com/kiznaiver1998/p/8280549.html
Copyright © 2020-2023  润新知