day01 - Scrapy 爬虫框架基本使用1

本文介绍了Scrapy爬虫框架的基本使用,包括安装、爬虫流程、简单使用方法、项目文件目录结构、logging模块应用、请求下一页的实现、items文件的作用以及pipeline管道的open和close函数。通过实例讲解了如何创建Scrapy项目、爬虫文件、提取数据、设置日志和处理数据。
摘要由CSDN通过智能技术生成

一、 安装Scrapy库遇到的问题
使用pip安装,出现找不到安装包的问题,可能是国内网络的问题,使用国内镜像源加速成

pip install 包名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

在这里插入图片描述
二、scrapy爬虫流程

  1. 普通爬虫流程
    在这里插入图片描述
  2. scrapy框架爬虫流程
    在这里插入图片描述
    在这里插入图片描述
    说明
    在这里插入图片描述

三、scrapy简单使用

  1. 创建一个scrapy爬虫项目

scrapy startproject 项目名

在这里插入图片描述
注意
①此时会在当前路径中创建一个爬虫文件夹
在这里插入图片描述
②爬虫文件spiders中的只有init.py一个文件
在这里插入图片描述

  1. 进入爬虫文件夹并创建爬虫

cd 爬虫文件夹
scrapy genspider baidu baidu.com
baidu:爬虫名
baidu.com:爬虫的域名

在这里插入图片描述
注:
①此时爬虫文件夹中的spiders文件夹会自动创建爬虫的py文件,文件名为创建爬虫时的名字
在这里插入图片描述
②可同时在一个爬虫项目中创建多个爬虫文件,而这些爬虫文件全部存在于spiders文件夹中
③parse函数中的response是start_url请求的响应,类型是一个对象。
3. 提取数据
完善spider,使用xpath等方法

# -*- coding: utf-8 -*-
import scrapy


class BaiduSpider(scrapy.Spider):
    name = 'baidu'   # 爬虫名
    allowed_domains = ['baidu.com']    # 允许爬虫的范围
    start_urls = ['https://www.baidu.com']    # 最开始的url地址--根据自己需求可自行更改

    def parse(self, response):
        '''处理start_urls对应的响应(提取数据)'''
        print(type(response))
        item = response.xpath('//a[@id="s-top-username"]/span[starts-with(@class,"user-name")]/text()')   # 返回特殊类型的列表,没有爬取到元素则返回空列表
        print(item)
        yield item

注:
①处理响应数据时的函数名必须是parse,不可更改
②使用yield生成器将提取到的数据item传递给pipelines
③运行爬虫

scrapy crawl 爬虫名

在创建的爬虫项目文件夹路径下运行程序
在这里插入图片描述
③设置日志等级
在这里插入图片描述
不设置日志等级时
在这里插入图片描述

  1. 保存数据
    pipeline中保存数据
  • 开启pipeline服务
    在这里插入图片描述
    注:
    ①pipeline可以处理多个数值(多个类),拥有多个管道,处理数据前需要开启的所有要处理数据的pipeline类,并指定具体的距离大小。
    ②后面的数值越小,表示距离搜索引擎越近,数据越早被处理
    ③开启pipeline服务中的键实际上是pipelines中FirstscrapyPipeline类对应的位置

  • 处理数据

class FirstscrapyPipeline(object):
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值