【写在开头】

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的视频学习练习的,如有侵权,删帖。

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

scrapy爬虫简单项目入门练习的更多相关文章

  1. Python爬虫教程-31-创建 Scrapy 爬虫框架项目

    本篇是介绍在 Anaconda 环境下,创建 Scrapy 爬虫框架项目的步骤,且介绍比较详细 Python爬虫教程-31-创建 Scrapy 爬虫框架项目 首先说一下,本篇是在 Anaconda 环 ...

  2. scrapy爬虫简单案例(简单易懂 适合新手)

    爬取所有的电影名字,类型,时间等信息 1.准备工作 爬取的网页 https://www.ddoutv.com/f/27-1.html 创建项目 win + R 打开cmd输入 scrapy start ...

  3. scrapy爬虫 简单入门

    1. 使用cmd+R命令进入命令行窗口,并进入你需要创建项目的目录 cd 项目地址 2. 创建项目 scrapy startproject <项目名> cd <项目名> 例如 ...

  4. scrapy爬虫--10分钟入门

    # -*- coding: utf-8 -*- # @Time : 2019/4/18 9:10 # @Author : wujf # @Email : 1028540310@qq.com # @Fi ...

  5. [Python爬虫] scrapy爬虫系列 <一>.安装及入门介绍

    前面介绍了很多Selenium基于自动测试的Python爬虫程序,主要利用它的xpath语句,通过分析网页DOM树结构进行爬取内容,同时可以结合Phantomjs模拟浏览器进行鼠标或键盘操作.但是,更 ...

  6. 爬虫系列2:scrapy项目入门案例分析

    本文从一个基础案例入手,较为详细的分析了scrapy项目的建设过程(在官方文档的基础上做了调整).主要内容如下: 0.准备工作 1.scrapy项目结构 2.编写spider 3.编写item.py ...

  7. Python之Scrapy爬虫框架安装及简单使用

    题记:早已听闻python爬虫框架的大名.近些天学习了下其中的Scrapy爬虫框架,将自己理解的跟大家分享.有表述不当之处,望大神们斧正. 一.初窥Scrapy Scrapy是一个为了爬取网站数据,提 ...

  8. Scrapy 爬虫框架入门案例详解

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:崔庆才 Scrapy入门 本篇会通过介绍一个简单的项目,走一遍Scrapy抓取流程,通过这个过程,可以对 ...

  9. scrapy爬虫学习系列二:scrapy简单爬虫样例学习

    系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备:      http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...

随机推荐

  1. Linux centos7 mysql 的安装配置

    2021-07-21 1. 创建用户 # 创建用户useradd mysql# 修改密码 passwd mysql 2. 下载 wget 网址 3. 解压 # 创建安装文件夹mkdir app# 解压 ...

  2. C++回调机制

    一直对回调机制不是很了解,今天索性搜了很多资料顺便整理一下,进步一点点. 1.Callback方式(回调函数) 什么是回调函数? 简而言之,回调函数就是一个通过函数指针调用的函数.如果你把函数的指针( ...

  3. C++11多线程编程

    1. 多线程编程 在进行桌面应用程序开发的时候, 假设应用程序在某些情况下需要处理比较复杂的逻辑, 如果只有一个线程去处理,就会导致窗口卡顿,无法处理用户的相关操作.这种情况下就需要使用多线程,其中一 ...

  4. 20210819 Emotional Flutter,Medium Counting,Huge Counting,字符消除2

    考场 T1 一下想到了这题,将白块缩短 \(s\) 后维护类似的区间即可. T2 T3 俩计数,直接跳了. T4 的可行 \(t\) 集合相同相当与从 \(n\) 往前跳 kmp 数组,途径点相同,从 ...

  5. Postman 根据nginx日志查账号

    1) GET:http://fwm.le-yao.com/api/backend/profile 2) Headers中,在KEY中添加 Content-Type ,对应的VALUE为 applica ...

  6. Mybatis-基本学习(上)

    目录 Mybatis mybatis开始 -----环境准备 一.简介 1.什么是MyBatis 2.持久化 3.持久层 4.为什么需要Mybatis? 二.第一个Mybatis程序 1.搭建环境 1 ...

  7. 数据库实验sql代码 myemployees 以及mygirl

    /* Navicat Premium Data Transfer Source Server : mysql Source Server Type : MySQL Source Server Vers ...

  8. promise入门基本使用

    Promise入门详解和基本用法   异步调用 异步 JavaScript的执行环境是单线程. 所谓单线程,是指JS引擎中负责解释和执行JavaScript代码的线程只有一个,也就是一次只能完成一项任 ...

  9. CI框架页面打开空白,无报错为解决方法新环境

    1.打开错误显示,可以在控制controllers的首页入口加入以下代码,查看错误 error_reporting(-1); ini_set('display_errors', 1); //插入显示所 ...

  10. Jmeter系列(27)- 常用逻辑控制器(6) | 如果(if)控制器If Controller

    如果(if)控制器(If Controller) 在实际工作中,当使用JMeter做性能脚本或者接口脚本时,当遇到需要对不同的条件做不同的操作时,我们可以使用JMeter中if控制器来实现 if控制器 ...