zoukankan      html  css  js  c++  java
  • scrapy爬虫简单项目入门练习

    【写在开头】

    scrapy环境配置配置好了之后,开始着手简单项目入门练习。关于环境配置见上一篇博客https://www.cnblogs.com/ljxh/p/11235079.html

    【正文部分】

    视频是跟着CZ的学的,入门练习是爬取CZ官网的师资信息,

    1、新建工程

      控制台输入:scrapy startproject myspider 新建一个爬虫的工程文件,后面的myspider 可以自己命名。

    2、生成一个爬虫

      控制台输入scrapy genspider itcast "itcast.cn",itcast是爬虫文件的名称,后面的"itcast.cn"是允许去爬的范围。完成上面两步之后如图1所示。

    图1 生成的工程文件截图

    3、更改itcast.py爬虫文件如下,更改最开始请求的URL地址和处理URL响应的函数,程序中用到了xpath对响应进行信息提取,还有日志模块生成日志文件。

    # -*- coding: utf-8 -*-
    import scrapy
    import logging
    
    logger = logging.getLogger(__name__)
    
    class ItcastSpider(scrapy.Spider):
        name = 'itcast'
        allowed_domains = ['itcast.cn']  # 允许爬去的范围
        start_urls = ['http://www.itcast.cn/channel/teacher.shtml']  # 最开始请求的URL地址
    
        # parse方法名是不能改变的,下面的属性名item是可以随意定义的
        def parse(self, response):
            # 处理start_url地址对应的响应
            # 分组
            li_list = response.xpath("//div[@class='tea_con']//li")
            for li in li_list:
                item = {}
                item['name'] = li.xpath(".//h3/text()").extract_first()
                item['title'] = li.xpath(".//h4/text()").extract_first()
                logger.warning(item)
                yield item

    4、更改setting.py文件,将管道处理激活,即取消PIPELINES的注释,用于保存数据。

    图2 激活PIPELINES

    5、在setting.py文件中设置日志信息。

    LOG_LEVEL = "WARNING"
    LOG_FILE = './log.log'

    6、在控制台输入:scrapy crawl itcast,后面itcast根据自己的爬虫文件的名字来,运行结果如下:

     

    图3 控制台输出的爬虫信息

    备注:由于爬取的数据很多,这里只是截取了包含爬虫命令的一段数据。

    图4 日志文件截图

     【写在最后】

      到这一个简单入门的爬虫项目就完成了,后面还有很多东西要学,这里做个简单的记录。文章是根据CZ的视频学习练习的,如有侵权,删帖。

     小编尊重原创,文章如有侵权,联系小编删帖,谢谢监督。转发请备注出处!

  • 相关阅读:
    Opencores上利用svn下载
    dc概论之多周期路径multicycle_path续2
    vim之高效编辑verilog代码(1)
    BAT编程基础
    Linux
    远程连接服务器或云数据库上的mysql服务 赖大大
    CSS文本靠右显示换行后靠左显示;vant vancol文本靠右显示换行后靠左显示
    千分位 后面保留2位小数
    F# 天生就是就异步和并行的料
    做量化模型Matlab、R、Python、F#和C++到底选择哪一个?
  • 原文地址:https://www.cnblogs.com/ljxh/p/11245414.html
Copyright © 2011-2022 走看看