Python爬虫 增量式爬虫 通用爬虫 聚焦爬虫

本文介绍了增量式爬虫的概念,强调其只抓取网站新更新的数据,适合持续跟踪网站数据变化。文章详细阐述了增量爬虫的工作流程,并提供了一个增量爬取电影名称和简介的案例,包括设置起始URL、使用Rule请求页码URL、通过Redis存储已爬取URL以检测更新,以及数据的持久化存储。
摘要由CSDN通过智能技术生成

爬虫分类

  1. 通用爬虫
  2. 聚焦爬虫
  3. 增量式爬虫

通用爬虫 和 聚焦爬虫 之前的博客有讲解过了,本篇主要讲解增量式爬虫

增量式爬虫

概念:检测网站数据更新的情况,只会爬取最新更新的数据

适用于持续跟踪网站的数据爬取。

例如三个月前,爬取了所有数据。网站更新了100条数据,此时爬取跟新的100条数据即可。

流程:

  1. 指定起始url,基于CrawlSpider获取页码url
  2. 基于Rule请求获取的页码url
  3. 基于页码url解析出当前页对应的详情url
  4. (核心)检测详情url之前有没有访问过
    将爬取详情页的url进行存储
    存储在redis的set数据结构中(存在返回0,不存在返回0)
  5. 对详情页发送请求,解析数据
  6. 持久化存储

案例

增量爬取电影名称和简介

http://www.4567kan.com/frim/index1.html

scrapy startproject tvPro
cd tvPro
scrapy genspider -t crawl tv www.xxx.com

settings.py

BOT_NAME = 'tvPro'

SPIDER_MODULES = ['tvPro.spiders']
NEWSPIDER_MODULE = 'tvPro.spiders'


# Crawl responsibly by identifying yourself (and your website) on the user-agent
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'

# Obey robots.txt rules
ROBOTSTXT_OBEY = False

LOG_LEVEL = 'ERROR'

ITEM_PIPELINES = {
   
    'tvPro.pipelines.TvproPipeline': 300,
}

item.py

import scrapy


class TvproItem(scrapy.Item
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值