爬虫 DATA/URL 去重
爬虫 Data url
2023-09-14 09:00:32 时间
爬虫 DATA/URL 去重
舆情业务必须紧盯网站是否有新的内容发布,要求是越快越好,但由于各项软硬件限制,通常会要求在 30 分钟内或者 15 分钟内监听到新内容。要实现对目标网站内容变化的监听,那么我们可以选择的比较好的方式就是轮询。不停地访问网页,并且判断是否有“新内容”出现,如果有的话就执行爬取,没有“新内容”就不爬取。
那么问题来了,应用程序如何知道哪些内容是“新的”、哪些内容又是“旧的”的呢?
问题拆解一下,“新内容”就是没有爬过的内容。这时候我们需要用一个东西来记录这篇文章是否被爬取过,每次有要爬取的文章时就比对一下,这就是解决这个问题的办法。
那又依靠什么来进行比对呢?
我们都知道文章的 URL 几乎都是不变且不会重复的,因此可以选择文章的 URL 作为判定的依据,也就是把爬取过的 URL 放到一个类似列表一样的容器里存储起来,每次有待爬取的 URL 就判断它是否已经被存在容器里,如果在就说明已经爬过了,直接丢弃,进入下一个 URL 的判断流程。整体逻辑就像下面这张图一样:
这就是爬虫领域的“去重”。实际上去重可以粗略的分为内容(DATA)去重和链接(URL)去重,这里我们讲的只是舆情方向的去重需求,如果是电商方向的去重,那么就不能用 URL 作为判断依据,因为电商爬虫(例如比价软件)的目的主要是判断价格的变化,这时候判断变化的依据应该是商品的关键信息(例如价格、折扣),也就是 DATA 去重。
去重的原理明白了,那用什么东西作为存放去重依据的容器呢?MySQL?Redis?MongoDB?内存?实际上大部分工程师都选择 Redis 作为存放去重依据的容器,但实际上 MySQL、MongoDB 和内存都是可以充当容器的,至于为什么会选择 Redis,它又比其他数据存储好在哪里?
相关文章
- Python爬虫之多线程
- 搞笑视频爬虫
- scrapy爬虫案例_Python爬虫 | 一条高效的学习路径
- Node.js爬虫之使用puppeteer爬取百度图片
- 爬虫python入门_python之路pdf
- 通过爬虫爬取一些图片
- python网页爬虫代码_python md5加密解密
- Python 爬虫进阶必备 | 某策网数据返回值 data 解密逻辑分析
- 爬虫练习题(一)
- 【k哥爬虫普法】爬虫第一案,侵犯个人隐私,“入侵”短视频服务器!
- data storageMySQL: Unlocking Potential in Huge Data Storage(mysqlhuge)
- guard利用Oracle Data Guard保护数据可靠性(oracle中data)
- frame数据分析神器:Linux 上的 Data Frame(linux中data)
- 数据库恢复MySQL数据库:从Data中拯救数据(从data恢复mysql)
- data miningUnlocking the Power of Oracle Data Mining(roracle)
- 爬虫入门基础-Firefox数据抓包
- 运维学python之爬虫实战篇(二)爬取伯乐在线面向对象图片
- 探索Linux系统中的Data目录(linux的data目录)
- MySQL数据格式之Data详解(mysql中data格式)
- MySQL中Data的存储和管理技巧(mysql中data)
- Redis构建爬虫框架,挖掘自然之美(爬虫框架 redis)
- python爬虫教程之爬取百度贴吧并下载的示例