爬虫与搜索引擎的区别/pyhton爬虫结构

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 爬虫与搜索引擎的区别/pyhton爬虫结构

一、什么是爬虫

爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。

image.png

百度的网络爬虫就叫做BaiduSpider

二、什么是搜索引擎

搜索引擎:核心模块一般包括爬虫、索引、检索和排序等,同时可添加其他一系列辅助模块,以为用户创造更好的网络使用环境。


从功能和原理上搜索引擎大致被分为三大类:


全文搜索引擎

数据来源为自动抓取的网页生成索引,得到的网站信息更及时。


通过从互联网上提取的各个网站的信息而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户。


全文搜索无范围,就像百度那样直接打字上去搜索的


元搜索引擎

数据来源为其他搜索引擎获取结果,得到的网站信息数量更多。


在接受用户查询请求时,同时在其他多个引擎上进行搜索,并将结果返回给用户。


元搜索无范围,查找时会找出多种网站上的信息


目录搜索引擎

数据来源为人工收录分类的数据库,得到的网站质量更高。


通过现有收录的网站信息按目录分类的网站链接列表匹配,将匹配结果返回给用户。


目录搜索有范围,通过一条条的标签在本网内查找


三、爬虫与搜索引擎的区别

与其说区别,不如说,它们之前是何关系。


直截了当了说,爬虫技术是构建搜索引擎最核心的一环,是它成就了现在的百度、谷歌、必应等主流的搜索引擎。


四、Python爬虫架构

Python 爬虫架构主要由五个部分组成:


调度器

相当于一台电脑的CPU,主要负责调度URL管理器、下载器、解析器之间的协调工作。


URL管理器

包括待爬取的URL地址和已爬取的URL地址,防止重复抓取URL和循环抓取URL,实现URL管理器主要用三种方式,通过内存、数据库、缓存数据库来实现。


网页下载器

通过传入一个URL地址来下载网页,将网页转换成一个字符串,网页下载器有urllib2(Python官方基础模块)包括需要登录、代理、和cookie,requests(第三方包)


网页解析器

将一个网页字符串进行解析,可以按照我们的要求来提取出我们有用的信息,也可以根据DOM树的解析方式来解析。网页解析器有正则表达式(直观,将网页转成字符串通过模糊匹配的方式来提取有价值的信息,当文档比较复杂的时候,该方法提取数据的时候就会非常的困难)、html.parser(Python自带的)、beautifulsoup(第三方插件,可以使用Python自带的html.parser进行解析,也可以使用lxml进行解析,相对于其他几种来说要强大一些)、lxml(第三方插件,可以解析 xml 和 HTML),html.parser 和 beautifulsoup 以及 lxml 都是以 DOM 树的方式进行解析的。


应用程序

从网页中提取的有用数据组成的一个应用。


在python编程语言中,调度器的角色就是让整个爬虫能井条有序的执行。


相关文章
|
2月前
|
数据采集 搜索推荐 数据管理
基于Python爬虫的垂直搜索引擎设计与实现
基于Python爬虫的垂直搜索引擎设计与实现
108 1
|
8月前
|
数据采集 存储 搜索推荐
在Kotlin中设置User-Agent以模拟搜索引擎爬虫
在Kotlin中设置User-Agent以模拟搜索引擎爬虫
|
数据采集 存储 搜索推荐
搜索引擎爬虫的工作原理是什么?底层原理是什么?
搜索引擎爬虫的工作原理是什么?底层原理是什么?
325 0
|
存储 数据采集 搜索推荐
基于Java学院网站的搜索引擎(Java 爬虫 搜索引擎)设计和实现
首先利用httpclient+多线程去模拟客户端去进行获取网页的内容,然后采用jsoup+多线程来进行解析网页内容并存储本地 项目主要使用技术 Httplcient
115 0
基于Java学院网站的搜索引擎(Java 爬虫 搜索引擎)设计和实现
|
数据采集 搜索推荐 Python
24、Python快速开发分布式搜索引擎Scrapy精讲—爬虫和反爬的对抗过程以及策略—scrapy架构源码分析图
【百度云搜索:http://www.lqkweb.com】 【搜网盘:http://www.swpan.cn】 1、基本概念 2、反爬虫的目的 3、爬虫和反爬的对抗过程以及策略 scrapy架构源码分析图
5997 0
|
数据采集 搜索推荐 iOS开发
2019年最新出搜索引擎蜘蛛网页爬虫大全
2019年最新出搜索引擎蜘蛛网页爬虫大全分享,各大seo引擎搜索的蜘蛛会一次又一次访问爬取我们站点的文章内容,也会耗费一定的站点流量; 有时候就必须屏蔽一些蜘蛛浏览我们的站点,文章尾部会讲解决方案; 掌握各大搜索引擎蜘蛛爬虫,对我们开展网站SEO优化具有挺大作用;作者搜集了各大搜索引擎的蜘蛛爬虫UA,便于你需要时查看。
3833 0
|
数据采集 搜索推荐 前端开发
23、 Python快速开发分布式搜索引擎Scrapy精讲—craw母版l创建自动爬虫文件—以及 scrapy item loader机制
转: http://www.bdyss.cn http://www.swpan.cn 用命令创建自动爬虫文件 创建爬虫文件是根据scrapy的母版来创建爬虫文件的 scrapy genspider -l  查看scrapy创建爬虫文件可用的母版 Available templates:母版说明  ...
1146 0
21、 Python快速开发分布式搜索引擎Scrapy精讲—爬虫数据保存
转: 【http://bdy.lqkweb.com】 【http://www.swpan.cn】 注意:数据保存的操作都是在pipelines.py文件里操作的 将数据保存为json文件 spider是一个信号检测 # -*- coding: utf-8 -*- # Define your it.
1240 0
|
数据采集 前端开发 搜索推荐
20、 Python快速开发分布式搜索引擎Scrapy精讲—编写spiders爬虫文件循环抓取内容—meta属性返回指定值给回调函数—Scrapy内置图片下载器
编写spiders爬虫文件循环抓取内容 Request()方法,将指定的url地址添加到下载器下载页面,两个必须参数,  参数:  url='url'  callback=页面处理函数  使用时需要yield Request() parse.
1305 0
|
Web App开发 监控 Linux
Web网站如何查看搜索引擎蜘蛛爬虫的行为
简介 本文给大家介绍Linux/Nginx如何查看搜索引擎蜘蛛爬虫的行为,清楚蜘蛛的爬行情况对做SEO优化有很大的帮助。需要的朋友通过本篇文章学习下吧 摘要 做好网站SEO优化的第一步就是首先让蜘蛛爬虫经常来你的网站进行光顾,下面的Linux命令可以让你清楚的知道蜘蛛的爬行情况。
2791 0