zoukankan      html  css  js  c++  java
  • Scrapy 常用的shell执行命令

    1、在任意系统下,可以使用 pip 安装 Scrapy

    pip install scrapy/

    确认安装成功

    >>> import scrapy >>> scrapy.version_info (1, 5, 1 )






    可以看到 scrapy 的一些命令
    $ scrapy

    E:datajobjob>scrapy
    Scrapy 1.6.0 - project: job

    Usage:
    scrapy <command> [options] [args]

    Available commands:
    bench Run quick benchmark test
    check Check spider contracts
    crawl Run a spider
    edit Edit spider
    fetch Fetch a URL using the Scrapy downloader
    genspider Generate new spider using pre-defined templates
    list List available spiders
    parse Parse URL (using its spider) and print the results
    runspider Run a self-contained spider (without creating a project)
    settings Get settings values
    shell Interactive scraping console
    startproject Create new project
    version Print Scrapy version
    view Open URL in browser, as seen by Scrapy

    Use "scrapy <command> -h" to see more info about a command

    通过上面的两项检测,说明 Scrapy 安装成功了

    2、创建一个 Scrapy 项目

      在shell中使用 scrapy startproject命令:

    scrapy startproject job

      创建好的爬虫的项目目录文件如下所示

      (通常我们不需要手工创建 Spider 文件以及 Spider 类,可以使用 scrapy genspider <SPIDER_NAME> <DOMAIN>命令生成(根锯模板)它们,该命令的两个参数分别是 Spider 的名字和多要爬取的预(网站))

    $ cd job
    $ scrapy genspider books books.toscrape.com

    运行后,scrapy genspider 命令创建了文件 job/spider/books.py,并在其中创建了一个BooksSpider 类,代码如下:

    # -*-coding: utf-8 -*-
    import scrapy
    
    cclass BooksSpider(scrapy.Spider):
        
        name = 'books'
        allowed_domains = ['books.toscrape.com']
        start_urls = ['http://books.toscrapy.com/']
    
    
        def parse(self, response):
            pass

    1、分析页面

      (1)数据信息

      (2)链接信息

     2、实现Spider

      实现爬虫的 Python 文件应位于 job/spiders 目录下,在该目录下新建文件 51job.py 

      (1)提取数据

      (2)提取链接

    3、对 Spider 的实现做简单的说明

      (1) name 属性

        一个 Scrapy 醒目中可能有多个爬虫,每个爬虫的 name 属性是其自身的唯一标示,在一个项目中不能有同名的爬虫,例如 取名为 “books”

      (2)start_url 属性

        一个爬虫总要从某个(或某些)页面开始爬取,我们成这样的页面为其实爬取点,start_url 属性用来设置一个爬虫的其实爬取点。比如:“http://books.toscraper.com”.

      (3)parse 方法

        当一个页面下载完毕之后,Scrapy 引擎会回调一个我们指定的页面解析函数(默认为 parse 方法)解析页面,一个页面解析韩式同常需要完成以下两个任务:
        <1> 提取页面中的数据 (使用 XPath 或者 CSS 选择器)

        <2> 提取页面中的链接,并产生对链接页面的下载请求。

      页面解析函数通常被实现为一个生成器函数,每一项从页面中提取的数据以及每一个链接页面的下载请求都由 yield 语句提交给 Scraoy 引擎

    运行爬虫

    在 shell 中执行 scrapy crawl <Spider_Name> 命令运行爬虫'books',并将爬取的数据存储到 csv 文件中:

    scrapy crawl books -o books.csv

    在进行页面分析时,除了之前使用过的 Chrome 开发者工具之外,另一种常用的工具是

    scrapy shell <URL>

    他使用户可以再交互式命令下操作一个 Scrapy 爬虫,通常我们使用该工具进行前期爬取实验,从而提高开发效率

  • 相关阅读:
    NHibernate学习笔记manytoone/onetomany/manytomany(转)
    C#.NET使用NHibernate 1.0 XML映射使用中容易出错的地方全程记录(转)
    Interface定义及使用
    c#中的interface abstract 与 virtual(转)
    根据word模板生成word表格报表文档(C#)
    NHibernate中的manytomany关系示范(转)
    工作流平台简介(转自singbird(走夜路的人))
    【Hibernate总结系列】....hbm.xml配置
    CentOS 5.X(更新到6.3)最小化安装过程及网络配置+用yum安装Apache+PHP+MySQL
    CentOS 各版本下载地址和发布时间表(20190401更新)
  • 原文地址:https://www.cnblogs.com/jcjc/p/10904325.html
Copyright © 2011-2022 走看看