2021/6/17爬虫第二十五次课(scrapy_reids补充)

本文详细介绍了如何将Scrapy爬虫改造成Scrapy Redis爬虫,以爬取当当网的图书信息,并通过案例演示了如何抓取小说《盗墓笔记》的相关章节。在Scrapy settings中配置了去重过滤、调度器和数据持久化,同时在爬虫文件中实现了RedisSpider的改写。在解析过程中,使用XPath提取所需数据,通过meta参数传递深拷贝的item对象。此外,还分析了小说《盗墓笔记》的一级、二级和三级页面结构,展示了如何抓取章节标题和链接。

scrapy_reids补充

学习目标
1 通过一个案例改成成scrapy_redis 当当网
2 案例练习 小说 盗墓笔记

1 当当网

当当网 http://book.dangdang.com/
思路:先实现普通的scrapy爬虫,然后在改写成scrapy_redis
​
**第一步 页面分析**
需求:大分类 二级分类 三级分类 图书的名字和图片的src
​
大分类
整个大分类都在 div con flq_body 它下面的 div/dl/dt
注意:1 在大分类中有一个span标签,但是源码中没有  
     2 有的大分类在dt标签下面还有一个a标签  /dt//text().extract()
     
二级分类
div level one --> dl class="inner_dl" dt/text()
注意:1 有的大分类在dt标签下面还有一个a标签  /dt//text().extract()
​
三级分类
dl class="inner_dl" --> dd/a/text()
注意:图片的src images/model/guan/url_none.png 这个时候还是要看下源码
data-original="http://img3m0.ddimg.cn/95/11/27854240-1_b_14.jpg"
​
**第二步 实现步骤**
​
1 创建scrapy项目(爬虫)
​
2 分析页面并实现逻辑
​
3 改写程序(scrapy_redis)
​

改写成scrapy-redis:

爬虫文件:
1 模块   from scrapy_redis.spiders import RedisSpider
2 继承的父类   RedisSpider
3 把start_urls 改写成 reids_key='爬虫文件名字'
settings文件
# 去重过滤
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
# scheduler队里
SCHEDULER = "scrapy_redis.scheduler.Scheduler"
# 数据持久化
SCHEDULER_PERSIST = True
​
ITEM_PIPELINES = {
   
   
    #'example.pipelines.ExamplePipeline': 300,(这个不能有)
    'scrapy_redis.pipelines.RedisPipeline': 400,
}

接着 cmd中:LPUSH dangdang http://book.dangdang.com/

源码:
(day25)

import scrapy
from copy import deepcopy
from scrapy_redis.spiders import RedisSpider # 第一步
class DangdangSpider(RedisSpider
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笔记本IT

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值