网络爬虫及scrapy爬虫框架介绍

爬虫介绍

  • 爬虫介绍
    无人值守的自动下载网页内容的手段,只要支持TCP网络编程的所有语言都可以实现爬虫
  • python爬虫火的原因
    代码少。框架丰富,语法简洁
  • 爬虫在技术上怎么实现
    1:tcp能够连接–http
    2:以流的形式读取并保存
  • 产生爬虫框架的原因
    • tcp能够连接
      问题1.由于有些服务端设置了请求头部的校验
      问题2.有些页面的访问需要提交数据(GET或POST方式)
      问题3.有些网页需要会话 需要session和cookie
      问题4.任务的管理调度
    • 流的形式读取并保存
      问题1:我们不需要网页所有内容,网页内容提取
      问题2:方便的数据持久能力

scrapy爬虫框架介绍

架构

scrapy engine 核心引擎
Spiders 爬虫
Scheduler 调度器
items 内容
Pipeline 管道筛选处理
中间件 负责请求和下载

认识组件

items 爬到的内容
spiders 蜘蛛
Pipeline 内容处理的管道
Feed exports 内容的序列化方式

使用步骤

    1. 1.安装scrapy
      root 用户下 yum -y install gcc(scrapy需要gcc依赖)
      切换非root用户 pip install scrapy(使用的是python3)
    1. 2.创建爬虫项目
      scrapy startproject firstdemo
    1. 3.认识项目结构
      root 用户下 yum -y install tree
      切换非root用户 tree
      效果如下
firstdemo
        ├── firstdemo
        │   ├── __init__.py
        │   ├── items.py
        │   ├── middlewares.py
        │   ├── pipelines.py
        │   ├── __pycache__
        │   ├── settings.py
        │   └── spiders
        │       ├── __init__.py
        │       └── __pycache__
        └── scrapy.cfg
    1. 4.编写自己的代码
      • 爬的内容
        定义Item,编写一个类继承scrapy.Item
        并声明定义field
      • 爬的范围
        定义蜘蛛(spider)集成scrapy.Spider
        定义蜘蛛名 name
        定义开始爬的位置 start_urls
        定义爬的域,也就是规定范围 allowed_domains
        定义爬的行为 def parse(response)
    1. 5.启动爬虫
      scrapy crawl kgc_spider

执行流程

  1. 引擎从调度器中取出一个链接(URL)用于接下来的抓取
  2. 引擎把URL封装成一个请求(Request)传给下载器
  3. 下载器把资源下载下来,并封装成应答包(Response)
  4. 爬虫解析Response
  5. 解析出实体(Item),则交给实体管道进行进一步的处理
  6. 解析出的是链接(URL),则把URL交给调度器等待抓取

xpath简单语法介绍

/表示从根开始
//表示任意后代
.表示当前
@表示当前属性
函数

eg: html.xpath(“/div”)
       表示从下的div标签
     html.xpath(“//div”)
      表示此网页的所有div标签

浅显认知

Item == entity类
spider == dao层
pipelines.py == controller层
settings.py == web.xml

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值