Python库中爬虫、解析、索引和搜索的区别是什么

3 投票
2 回答
3203 浏览
提问于 2025-04-16 19:50

我对这些术语感到困惑,它们在我看来有点像。有人能给我解释一下它们的执行顺序和可以使用的库吗?对我来说,它们看起来都差不多。

我想知道每一步的输入和输出是什么,比如:

Crawling
Input = URL
Output = ?

Indexing
Input = ?

2 个回答

0

你也可以看看Scrapy,这是一个基于Django的应用:

Scrapy是一个快速的高级网页抓取和爬虫框架,主要用来访问网站并从网页中提取结构化的数据。它可以用于很多不同的目的,比如数据挖掘、监控和自动化测试。

它会定期访问网站,提取你感兴趣的数据,你可以通过xpath来指定这些数据,然后把它保存到数据库中,作为一个新版本。

7

我给你简单描述一下,算法上来说,如何修改你的Python库。

爬虫:从一组网址开始,目标是扩大这组网址的数量。它实际上是跟踪这些网址中的链接,尽量把网络图扩展到最大(直到覆盖与初始网址组相连的网络图,或者直到资源(通常是时间)耗尽)。
输入 = 一组网址
输出 = 从输入中可以到达的更大网址集合

索引:使用爬虫收集的数据来“索引”文件。索引实际上是一个列表,它将集合中的每个词(通常是单词)映射到这个词出现的文档。
输入:一组网址
输出:索引文件/库。

搜索:使用索引来查找与给定查询相关的文档。
输入:一个查询(字符串)和索引(通常这是一个隐含的参数,因为它是状态的一部分)
输出:与查询相关的文档(这里的文档实际上是被爬取的网站...)

我鼓励你看看 PyLucene,它可以做这些事情(还有更多!)... 也可以多了解一下 信息检索

撰写回答