设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2448|回复: 2

爬虫数据库一些简单的设计逻辑

[复制链接]

13

主题

106

金钱

177

积分

入门用户

发表于 2019-8-29 13:08:34 | 显示全部楼层 |阅读模式

场景:爬取某商城的部分商品。

队列设计
这里至少需要爬取2种资源,一种是商品列表,一种是商品信息。
所以要设计1条队列,保存商品信息URL。

爬虫1定期爬前N个列表页 URL,把里面的商品信息URL爬下来,保存到队列里。

爬虫2定期从队列中抽出商品信息URL,爬取商品信息,爬完后把该URL移出队列。

所以呢,简单来说,只要有2张表就行了,一张保存队列信息,一张保存商品信息。


何时停止问题
为了避免每次都把所有商品爬一遍,就要在适当的时候停止。
爬列表页的时候,一般是设定只爬前 N 页。
爬商品信息URL的时候,一般是先检查这个商品是否存在,不存在就入队,存在的话,就表示接下来都是旧数据了,可以停止了。

当然有种情况,就是有些旧的商品,会被人为地置顶,或者排到前面来。

这时候就要设置一个值 M,每次最多爬前 M 个,多了不爬。


数据更新问题:
有新商品进来,直接插入即可,如果是旧商品,那要不要更新数据库里的内容呢?
一般来说是可以更新的,但有种情况例外,就是你的数据库会有人去编辑的情况。

如果你的数据库有专人编辑,那么最好不要更新旧商品,因为会覆盖掉编辑的内容。并且,数据表要采用软删除的方式,避免前面的人刚删除了数据,你的爬虫又把数据写进去了。

7

主题

362

金钱

3127

积分

中级用户

发表于 2020-1-2 20:29:27 | 显示全部楼层
学习学习,
ximenyan
回复

使用道具 举报

7

主题

362

金钱

3127

积分

中级用户

发表于 2020-1-2 20:29:45 | 显示全部楼层
有心人,赞一个!
ximenyan
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表