python - scrapy 采集数据的时候直接入主库,还是先入临时库呢?

 mobiledu2502861133 发布于 2022-11-01 07:05

我的网站是用来展示一些信息的

我打算去采集一些网站的数据,使用 scrapy

不过我有一些担心,就是担心 如果对方发现我采集,他对他的数据进行一些变动:比如内容超长,改变编码,改变什么

然后,我的采集程序傻傻的继续采集,然后入库的时候造成严重的结果,比如结果太多,导致数据库用光,或者会不会被 sql 注入把数据库删没了

我不知道我的担心是不是多余的

所以我想出了 2 个方案

(第一个方案) 这个方案 无疑会增加我的很多工作量 我想让爬虫在本地运行,本地架设一个 django+SQLite 的环境,爬虫把数据先存入本地,我在本地人工检验过数据,然后点击上传按钮,才将数据上传到主数据库,这样应该就安全多了,但是这样工作量会很大,要写很多代码

(第二个方案) 后来我又想了一个方案,就是在主库的表里增加一个字段, status 表示这个数据的状态,默认只展示审核过的数据,而如果状态是没有被审核,那么数据就不展示给用户,但我似乎还是有些担心,担心,对方网站做了什么变动,导致我的爬虫出现 bug ,一次性不小心采集几十万 几千万 的数据,把我的数据库撑爆了就糟了

似乎我的第二个方案的担心是多余的,好像 scrapy 默认可以过滤数据格式,可以净化数据, 但由于我是一个新手,对这个东西不是很了解,

所以想提问 请教一下大家, 哪个方案更好呢, 您有更好的方案吗

能给我一些建议吗

2 个回答
  • 可以考虑配合redis,先把内容写入redis作缓存,然后再把redis内容导入mongodb之类。

    可以在导入过程写一些规则过滤不满足的记录,应该这样可以满足需求,同时redis中的缓存和主表可以是不同的表结构。

    2022-11-01 12:24 回答
  • 最后我决定用方案2了

    2022-11-01 12:56 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有