问题

问题

在课程中3:55老师关于存入redis中key的讲解不是很明白

为什么在命名redis_key = 'jingdong'之后,存入redis的数据的键值依然是name = 'app'中的app

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好!配置 redis_key 可以将不同的爬虫任务分配到不同的任务队列中,同学可以理解redis_key 就是放第一次开始爬取的url。在 Scrapy-Redis 中,爬取后的数据保存在 Redis 中时,通常遵循<spider_name>:items的格式进行命名的。 其中:

<spider_name> 是具体的爬虫名称,这样可以确保不同爬虫的数据被分开存储。

items 是默认的存储键,用于存储爬取的数据。

之前爬取flask 项目时老师存储redis里的数据也是app ,指的是name="app"中的app

https://img1.sycdn.imooc.com/climg/66207ebc09cc76a103740080.jpg

https://img1.sycdn.imooc.com/climg/66207ee9099e8d2a07260212.jpg

这节课老师的项目名也是app ,所以爬取的数据也是存储在app 中

https://img1.sycdn.imooc.com/climg/662080320903b3f011220185.jpg

祝学习愉快~

  • 懒惰的围脖 提问者 #1

    关于“配置 redis_key 可以将不同的爬虫任务分配到不同的任务队列中”是否可以理解为分布式爬虫可以在一个项目中,进行多个网页的抓取,例如本例中抓取的数据网页为京东,redis_key = 'jingdong' 在终端传入 lpush jingdong 京东url 将jingdong的分布式抓取任务传递给分布式爬虫,那在给redis_key = ['jingdong', 'url2', 'url3']那么

    lpush url2 url2地址

    lpush url3 url3地址

    是否会将 这三个网址全部通过分布式爬虫抓取到目标网页,将三个网页全部数据存入到redis数据库中app键中?

    2024-04-18 10:56:42
  • 好帮手慕小猿 回复 提问者 懒惰的围脖 #2

    同学,你好!会的

    祝学习愉快~

    2024-04-18 11:17:40
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师