Python Scrapy爬虫技术

前言

网络爬虫

网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。爬虫的主要目的是将互联网上的网页下载到本地形成一个或多个互联网内容的镜像备份。

scrapy框架

Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。
Scrapy 常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。通常我们可以很简单的通过 Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片。

在这里插入图片描述

scrapy架构

  • Scrapy Engine(引擎):负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。
  • Scheduler(调度器):它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。
  • Downloader(下载器):负责下载Scrapy
    Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy
    Engine(引擎),由引擎交给Spider来处理。
  • Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器)。
  • Item Pipeline(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方。
  • Downloader Middlewares(下载中间件):一个可以自定义扩展下载功能的组件。
  • Spider Middlewares(Spider中间件):一个可以自定扩展和操作引擎和Spider中间通信的功能组件。

使用方法

以爬取豆瓣图书信息为例。。。。

创建scrapy爬虫

1、建立一个scrapy工程
在这里插入图片描述

2、在工程中产生一个scrapy爬虫
在这里插入图片描述

3、配置爬虫
在这里插入图片描述

4、运行爬虫

在这里插入图片描述

scrapy爬虫配置(setting.py)

1.robots协议

在这里插入图片描述

2、header修改

在这里插入图片描述

scrapy爬虫配置(item.py)

生成对象
在这里插入图片描述

豆瓣图书页面解析

编程标签(subject_list)
在这里插入图片描述
1、title,link
在这里插入图片描述

2、author,price

在这里插入图片描述

3.desc
在这里插入图片描述

scrapy+xpath

1、爬取当前页面内容

在这里插入图片描述

2、翻页

在这里插入图片描述

文件保存(pipeline.py)

在这里插入图片描述
在这里插入图片描述

IP代理

有些网站会对频繁访问的IP地址进行封禁,时间不等。因此我们可以选择使用代理来代替我们真正的IP,从而保证爬取进程的顺利。

代理池(https://www.kuaidaili.com/free/)

在这里插入图片描述

代理池

1、获取当前页面代理IP

在这里插入图片描述

2、检测IP是否能够使用

在这里插入图片描述

3、保存正确IP

在这里插入图片描述

附完整项目地址:链接:https://pan.baidu.com/s/1VJsh8u5GrIlkqyJedHZ3yQ
提取码:2bzt

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值