Python库中爬虫、解析、索引和搜索的区别是什么
我对这些术语感到困惑,它们在我看来有点像。有人能给我解释一下它们的执行顺序和可以使用的库吗?对我来说,它们看起来都差不多。
我想知道每一步的输入和输出是什么,比如:
Crawling
Input = URL
Output = ?
Indexing
Input = ?
2 个回答
0
你也可以看看Scrapy,这是一个基于Django的应用:
Scrapy是一个快速的高级网页抓取和爬虫框架,主要用来访问网站并从网页中提取结构化的数据。它可以用于很多不同的目的,比如数据挖掘、监控和自动化测试。
它会定期访问网站,提取你感兴趣的数据,你可以通过xpath来指定这些数据,然后把它保存到数据库中,作为一个新版本。
7
我给你简单描述一下,算法上来说,如何修改你的Python库。
爬虫:从一组网址开始,目标是扩大这组网址的数量。它实际上是跟踪这些网址中的链接,尽量把网络图扩展到最大(直到覆盖与初始网址组相连的网络图,或者直到资源(通常是时间)耗尽)。
输入 = 一组网址
输出 = 从输入中可以到达的更大网址集合
索引:使用爬虫收集的数据来“索引”文件。索引实际上是一个列表,它将集合中的每个词(通常是单词)映射到这个词出现的文档。
输入:一组网址
输出:索引文件/库。
搜索:使用索引来查找与给定查询相关的文档。
输入:一个查询(字符串)和索引(通常这是一个隐含的参数,因为它是状态的一部分)
输出:与查询相关的文档(这里的文档实际上是被爬取的网站...)