爬取下来的数据如何去重

  • 通过 MD5 生成电子指纹来判断页面是否改变

  • nutch 去重。nutch 中 digest 是对采集的每一个网页内容的 32 位哈希值,如果两个网页内容完 全一样,它们的 digest 值肯定会一样。

  • 数据量不大时,可以直接放在内存里面进行去重,python 可以使用 set()进行去重。当去重数据 需要持久化时可以使用 redis 的 set 数据结构。

  • 当数据量再大一点时,可以用不同的加密算法先将长字符串压缩成 16/32/40 个字符,再使用 上面两种方法去重。

  • 当数据量达到亿(甚至十亿、百亿)数量级时,内存有限,必须用“位”来去重,才能够满足需 求。Bloomfilter 就是将去重对象映射到几个内存“位”,通过几个位的 0/1 值来判断一个对象是 否已经存在。

  • 然而 Bloomfilter 运行在一台机器的内存上,不方便持久化(机器 down 掉就什么都没啦),也不 方便分布式爬虫的统一去重。如果可以在 Redis 上申请内存进行
    Bloomfilter,以上两个问题就都能解 决了。

  • simhash 最牛逼的一点就是将一个文档,最后转换成一个 64 位的字节,暂且称之为特征字,然后 判断重复只需要判断他们的特征字的距离是不是<n(根据经验这个 n 一般取值为 3),就可以判断两个 文档是否相似。

  • 可见 scrapy_redis 是利用 set 数据结构来去重的,去重的对象是 request 的 fingerprint(其实 就是用 hashlib.sha1()对 request 对象的某些字段信息进行压缩)。其实 fp 就是 request 对象加密 压缩后的一个字符串(40 个字符,0~f)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 1. 数据采集:利用网络爬虫技术从互联网上获取评论数据。 2. 数据预处理:对采集的评论数据进行处理,例如去重、过滤噪声数据、清洗错误数据等。 3. 数据存储:将处理后的评论数据存储到数据库或其他存储介质中,方便后续的分析和应用。 ### 回答2: 爬取评论数据的三个过程分别是准备工作、数据抓取和数据清洗与存储。 首先,在准备工作阶段,我们需要确定要爬取的评论数据来源和目标网站。然后,我们需要分析目标网站的页面结构和评论数据的位置,确定需要的信息字段和数据结构。接着,我们需要选择合适的爬取工具和技术,例如Python编程语言以及相关的库如爬虫框架Scrapy等。在准备工作中,还需要了解目标网站的访问规则和爬虫限制,以便遵守合适的爬取策略。 其次,在数据抓取阶段,我们利用编写的爬虫程序,根据准备工作中的信息和技术选型,自动化地从目标网站上进行数据抓取。这包括了模拟网页的访问、请求和响应过程,通过爬虫程序访问目标网站并提取评论数据,可以使用原生的HTTP库或者第三方爬虫框架。在这个过程中,我们需要处理不同的网页结构和不同的评论布局,以确保能成功抓取到我们所需的数据。如果需要多页爬取,还需要进行翻页处理和分页访问。 最后,在数据清洗与存储阶段,我们需要对抓取到的数据进行清洗和预处理,以便后续的分析和应用。这包括了去除重复数据、过滤无效数据、修正错误数据、规范化数据格式等。数据清洗可以使用相关的数据处理工具和方法,例如Python的pandas库。清洗完成后,我们可以选择将数据存储到数据库中,如MySQL、MongoDB等,或以文本文件的形式进行存储,如CSV文件、JSON文件等。这样,我们就可以方便地对评论数据进行后续的分析、挖掘和可视化处理。 总结来说,爬取评论数据的三个过程分别是准备工作、数据抓取和数据清洗与存储。准备工作阶段主要是确定目标网站、分析页面结构和选择相应的爬取工具和技术;数据抓取阶段是从目标网站中自动化地抓取评论数据,并处理多页和分页访问;数据清洗与存储阶段是对抓取到的数据进行清洗和预处理,并选择合适的方式进行存储。 ### 回答3: 爬取评论数据的三个过程主要包括数据收集、数据清洗和数据分析。 首先是数据收集阶段。在这个过程中,我们需要确定获取评论数据的目标网站或平台,并通过网络爬虫工具来提取评论数据。常见的爬取评论数据的方式包括通过API接口获取数据或使用网络爬虫程序自动访问网页,提取评论内容并保存到本地数据库或文件中。在收集数据之前,需要根据爬取的相关网站或平台的规则和协议进行设置,确保获取数据的合法性和可用性。 接下来数据清洗阶段。爬取的评论数据通常包含一些重复、噪声或非结构化数据,需要进行清洗和预处理,以提升数据的准确性和可用性。在数据清洗过程中,可以采用一些技术手段如去重、过滤噪声数据、去除HTML标签、处理缺失值等,使数据更加整洁和规范。此外,还可以进行文本分词、标注情感倾向等文本处理操作,以便后续的数据分析。 最后是数据分析阶段。在这个过程中,我们可以运用各种统计分析工具和技术,对爬取的评论数据进行分析。这包括使用数据可视化工具,如图表、图像等来展示评论数据的分布和趋势;使用自然语言处理技术对评论数据进行情感分析、主题建模等;使用机器学习算法挖掘评论数据中隐藏的有价值的信息。通过分析评论数据,可以帮助企业了解用户需求和反馈,优化产品或服务,并做出相应的决策。 总的来说,爬取评论数据的三个过程包括数据收集、数据清洗和数据分析。通过这些过程,可以从评论数据中获得有价值的信息,以指导企业决策和提供更好的产品或服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值