抓取热点数据 mysql 该如何存取

2020-03-04 16:46:29 +08:00
 dbdoer

新手求教,刚学爬虫,想写个简单的抓新闻热点的练练手。

在存入 mysql 时,每小时爬取一次,爬取完先 delete 表里的数据,再插入新的数据。

如果想存下历史记录,会有个重复问题。这个时候该如何处理呢? 新建个历史表,每次插入最新的榜单之前,判断每条的标题是否历史库中已经存在,如果存在就将历史库中的删除。历史数据多了,不知道这个过程会不会很慢。。。

想问下各位大哥,上面的想法是否正确,有没有更好的方式,谢谢

3439 次点击
所在节点    Python
27 条回复
dbdoer
2020-03-05 11:14:25 +08:00
@also24 感谢,之前确实只盯着标题了,有了帖子 id 后面做比较就好多了
dbdoer
2020-03-05 11:16:00 +08:00
@crella 谢谢,学到了新思路,先在 python 里处理数据
dbdoer
2020-03-05 11:18:12 +08:00
@lostpupil 谢谢,学到了,对于标题或者内容进行 MD5 摘要
dbdoer
2020-03-05 11:20:01 +08:00
@CatTom 感谢,学到了
dbdoer
2020-03-05 11:31:55 +08:00
@l3n641 谢谢,记上 redis
hushao
2020-04-09 18:35:54 +08:00
如果保留历史记录,那么就只需要插入而不需要删除 /更新,取出的时候按照时间戳取最新结果就行。

如果需要按标题判断,可以直接按标题建 unique key,然后 insert into on duplicate update...,另外标题可以做 md5 之类优化。

另外 sqlite 直接可以 insert or update 吧。
hushao
2020-04-09 18:37:01 +08:00
。。。没看完回复,发现有人说过了,不好意思😂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/649832

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX