我的网站是用来展示一些信息的
我打算去采集一些网站的数据,使用 scrapy
不过我有一些担心,就是担心 如果对方发现我采集,他对他的数据进行一些变动:比如内容超长,改变编码,改变什么
然后,我的采集程序傻傻的继续采集,然后入库的时候造成严重的结果,比如结果太多,导致数据库用光,或者会不会被 sql 注入把数据库删没了
我不知道我的担心是不是多余的
所以我想出了 2 个方案
(第一个方案) 这个方案 无疑会增加我的很多工作量 我想让爬虫在本地运行,本地架设一个 django+SQLite 的环境,爬虫把数据先存入本地,我在本地人工检验过数据,然后点击上传按钮,才将数据上传到主数据库,这样应该就安全多了,但是这样工作量会很大,要写很多代码
(第二个方案) 后来我又想了一个方案,就是在主库的表里增加一个字段, status 表示这个数据的状态,默认只展示审核过的数据,而如果状态是没有被审核,那么数据就不展示给用户,但我似乎还是有些担心,担心,对方网站做了什么变动,导致我的爬虫出现 bug ,一次性不小心采集几十万 几千万 的数据,把我的数据库撑爆了就糟了
似乎我的第二个方案的担心是多余的,好像 scrapy 默认可以过滤数据格式,可以净化数据, 但由于我是一个新手,对这个东西不是很了解,
所以想提问 请教一下大家, 哪个方案更好呢, 您有更好的方案吗
能给我一些建议吗
1
lxy 2016-07-15 11:44:22 +08:00 1
限制内容长度。编码可以自动检测。 sql 参数化查询。
|
2
qq5745965425 OP @lxy 您的意思是,用方案 2 就可以了吗
|
3
lxy 2016-07-15 11:53:50 +08:00 1
@qq5745965425 他要加垃圾数据你也没办法。限制一下抓取峰值频率,数据库加个字段 update_time ,计算平均时间内数据增长量,设置警戒值,超过提醒。
|
4
qq5745965425 OP @lxy 谢谢
|
5
julyclyde 2016-07-16 15:12:37 +08:00
2 的话 IO 代价比较低
|