爬虫设计思考之二

news2024/10/12 11:12:39

“所谓爬虫,其本质是一种计算机程序,它的行为看起来就像是蜘蛛在网上面爬行一样,顺着互联网这个“网”,一条线一条线地“爬行”。

一、认识爬虫

爬虫这个词对于非专业人士比较的陌生,但是实际却和我们的生活息息相关。例如我们国内经常使用的百度浏览器搜索,它是最大的中文检索引擎。就是使用大型爬虫作为数据获取的支撑,那么百度爬虫叫什么?实际上百度爬虫有自己的名称:Baiduspider。还有我们常见的搜所引擎:360浏览器搜索引擎称作360spider。等等很多国内外的搜索都是基于强大的爬虫支撑的,源源不断的获取互联网公开的数据。

百度搜索引擎,其实可以更形象地称之为百度蜘蛛(Baiduspider),它每天会在海量的互联网信息中爬取优质的信息,并进行收录。当用户通过百度检索关键词时,百度首先会对用户输入的关键词进行分析,然后从收录的网页中找出相关的网页,并按照排名规则对网页进行排序,最后将排序后的结果呈现给用户。在这个过程中百度蜘蛛起到了非常想关键的作用。

百度的工程师们为“百度蜘蛛”编写了相应的爬虫算法,通过应用这些算法使得“百度蜘蛛”可以实现相应搜索策略,比如筛除重复网页、筛选优质网页等等。应用不同的算法,爬虫的运行效率,以及爬取结果都会有所差异。

二、爬虫的类别

根据不同的需求:爬虫可以分为三类:通用的爬虫(普通爬虫)、定向爬虫(聚焦爬虫)、增量式爬虫;

  1. 通用爬虫

一般是我们获取互联网的全部数据,类如我们有一个需求,爬虫需要获取所有的用户提供的网页数据,我们怎么编写这个通用的爬虫呢,一般我们就只需要编写一个爬虫获取页面的源代码并返回就可以了,这个获取网页源代码的爬虫就称为通用爬虫,因为这个爬虫可以获取所有的静态页面的网页源代码,然后在基于页面做一些数据的处理和分析。

百度爬虫其实就是最大的通用爬虫,用户提交一些页面的链接给百度,百度获取获取这个页面的源代码,并根据一些算法处理,将获取到的数据通过用户的搜索,呈现给用户原这个站点的信息。

  1. 定向爬虫

是爬虫工程师主要的工作,需要按照一定的需求,对指定的站点数据编写定向爬虫采集指定的相关数据。

例如一个需求需要获取百度搜索结果页面的百度排名信息,就需要爬虫工程师针对百度搜索页面编写指定的爬虫代码获取所需要的排名信息的指定的字段值。定向爬虫主要是我们需要对很多的站点编写不同的解析规则,获取对我们有价值的数据。

  1. 增量爬虫

顾名思义就是增加增加爬虫获取的数据量,数据增量我们需要对某一个小说的站点文章持续的进行获取最新更新的文章数据,就称之为增量式爬虫。增量爬虫我们需要对已采集的数据进行去重的处理。

例如我们需要对某站点的资讯数据进行同步获取,这时我们可以对站点进行爬虫的开发,获取指定的数据字段,并部署一个定时任务,每天获取两次目标站点的数据,如果站点数据存在更新,增量爬虫就会获取新增的资讯数据,否则就不会做任何的处理。这个在实际的工作中应用的比较的多的。

三、爬虫在现实中的应用

随着现在的数据需求越来越多,大数据已经成为了我们非常熟知的一个名词,现在互联网的大数据处理发展也是非常的快了,部分公司的日均数据量达到了千万甚至亿级。

就需要对这种数据做一些分析处理,例如商品用户人群信息的分析、用户购买习惯的分析、用户数据的推荐处理、互联网数据的收集处理等都需要大数据作为分析的基础。那么这么多的数据从哪里来呢?一部分基于企业的内部的数据另一部分基于互联网的公开数据。互联网的公开是数据就需要使用爬虫技术源源不断的获取大量的企业所需的数据,以此来完成企业所需要的业务需求。大量的数据充实企业的数据仓库,丰富企业的数据多元化。为企业走向数据智能以及由传统的互联网企业转型成为数字型高科技企业,依托大数据的分析,帮助企业指定未来的发展目标,开拓企业业务走向专业或者走向多元化的发展之路。

  • 数据分析的应用

海量的数据需要处理,那么如何搜集海量的数据作为分析的结果呢?如何将分散在很多个地方的数据搜集起来用于业务场景的需求分析呢?那么爬虫将会成为一把利器!

利用爬虫技术将分散的数据按照需求搜集、整理起来,使用python针对不同的业务需求做专业的数据分析,快速得出专业的结果!数据分析的场景应用十分的的常见:大量的数据需要数字化展示,很多的指标通过分析后得出结果,并将这部分的数据值进行展示。方便实时的查看实际的数据指标的波动变化,制定出不同的应对措施。

  • 企业发展的应用

很多的企业都是比较传统的互联网或者工业互联网。他们对业务的分析以及业务的发展一般是通领导对自身行业自主的判断以及按照经验做出的决策并制定出一系列的发展前景。

但是随着企业的发展数据量增长以及企业的业务增长出现缓慢,希望可以对一些数据做分析,基于这些数据对后续的企业发展做出一些调整的时候,就需要指定出一套企业的自身数据的数字化发展决策道路。那么爬虫就可以帮助收集所需要的各种数据,帮助企业进行数据的分析,指定出符合企业自身发展的数字化道路。数字化的应用可以让领导以及决策者实时的关注到企业的一些业务发展,并及时的发现问题,并解决问题。促进企业的健康发展!

  • 科学研究你的应用

随着国内外科学技术的发展,大量的科学模型应运而生

这些模型的背后数很多的工程师不断的努力的结果。科学是严谨的,需要数据作为科学研究的依据!许多的科研人员并不懂得计算机以及爬虫的技术。很多的时候对数据的需求都需要依赖团队中的计算机人才,尤其是获取一些专业的网站的数据,用于做数据的大模型的训练;例如自然语言的发展,对数据的需求是非常大的,需要大量的数据作为模型分析的基础,对设计的不同的模型,需要的数据也是不一样的。海量的数据获取变得尤为重要。也是促进自然语言不断发展以及走向更加智能化的必须要素!

  • 人工智能的应用

人工智能这个词已经是众人皆知的了。随着科学技术的发展人工智能的发展突飞猛进。

例如自动驾驶现在非常的火,车企砸重金开发自动驾驶以及自动语音对话的人机交互系统。都离不开数据这个基本的要素。自动驾驶需要搜集车辆运行过程中的大量的驾驶信息以及驾驶环境的信息。发送给后台基于算法制定出安全合理的线路。人机交互系统的开发,人们希望开车的时候,能和车机系统进行智能对话,希望机器明白人类的语言并作出回应,那么机器如何能知道我们的说的意思呢?这里就需要依靠人工智能技术,开发人机对话的大模型,基于人类说话化的语义进行推导分析,让机器识别出人类说话的语义。可以把机器想象成一个‘孩童’,人工智能基于大数据仓库给这个孩童训练基本的理解、认知能力,就需要对数据标记,告诉孩童什么是对的什么错的,以及训练他认识物体。让他具备推理的能力。可以和人类进行对话。

四、爬虫的利与弊

爬虫可以帮助我们搜集海量的数据,提高检测、浏览、决策、分析、训练等很多的方向。但是这些数据如果被心术不正的人获取到,也会危害网络安全甚至威胁生命财产安全。例如我们就经常看到传销的、绑架的、电信诈骗的。

这些人通过搜集获取我们的敏感数据,例如电话信息;家庭住址;给我们打很多的骚扰电话,甚至有些人被电信诈骗,最后人财两空。再有利用爬虫的技术获取别人网站的具有知识产权的产品数据用以恶意竞争都会给对方带来大量的损失。因此我们在这个方面的数据获取是,需要明确用户使用数据的用途,不能给不法分子利用了,于己于他都是有害的。

正确的使用数据,获取公开的数据、实现数据的共享以及利益的共享,就实现了双赢局面。

五、爬虫的基本流程

在实际的开发需求中我们需要遵守对方网站的robots.txt协议。这是一个君子协议,常常用于搜索引擎的采集搜录。但是我们也需要遵守基本的爬虫准则,采集不能对目标站点产生影响,不能影响站点的正常运行,采集的数据应用不能损害站点的利益。对双方都是有益的。

一般我们开发一个爬虫的流程是:

  1. 明确采集的需求,以及采集的内容(一般会提供一个网站的采集文档以及网站的链接)
  2. 基于采集的数据需求,分析目标站点的数据内容以及加载方式并进行测试
  3. 基于分析结果制定出采集的方案编写采集的代码,并调试。
  4. 采集的数据按照需求存入数据库
  5. 采集完成后对数据做基本的验证(验证数据是否与目标站点一致)
  6. 按照需求交付数据

我已经创建了爬虫与大模型开发的星球,非常适合小白入门及爱好爬虫的同学,更多爬虫相关内容我放到了星球,我已经在星球等同学们来了!

alt

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2207803.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt-系统处理鼠标相关事件(57)

目录 使用 按下事件 释放事件 双击事件 移动事件 滚轮事件 使用 按下事件 实现下面的功能 鼠标在此处点击,就可以获取鼠标位置 添加函数 提升函数 手册中找到这个函数的原型 重写该函数 定义 重写 这里有一个细节需要注意,因为这里的标准点击…

单服务器基于 Nginx 负载均衡 + Docker Compose 提高并发量

背景信息 开发需求 单服务器的多服务管理 多服务器的集群管理可参考博主 docker swarm 的技术分享《基于 docker swarm 和 NVIDIA MIG 部署并行 AI 推理服务》 根据服务请求量和服务器规模的匹配程度,多服务器集群的性能对于目前来说过剩,故有了本研究的…

c#-出现类型初始值设定项引发异常的解决方案

当出现该问题时,通常摸不着头脑,无法定位到该问题所在行。 我们可以找到应发异常的类,例如我上面类为YY_Model.DefaultConfig。 打开这个类文件,加一个断点,一行行运行,到哪里突然跳出该文件,则…

Python脚本实现发送QQ邮件

需要发件人邮箱地址、授权码和收件人邮箱地址 1、登录QQ邮箱后台,点击右上角设置,下拉找到第三方服务,开启SMTP服务,复制生成的授权码 2、新建一个python文件,输入以下源码,更替参数后运行即可 import smt…

【计算机网络 - 基础问题】每日 3 题(三十六)

✍个人博客:https://blog.csdn.net/Newin2020?typeblog 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞…

无缝数据流动:跨域数据交换的高效策略

大型企业为了业务拓展需要,会在全国乃至全球各地设立分公司和办事机构,以便更好地处理当地事务,并进行市场的开拓和客户维护,因此大型企业都会面临跨域数据交换的场景。 跨域数据交换时,需要考虑多方面的问题&#xff…

使用机器学习边缘设备的快速目标检测

论文标题:Fast Object Detection with a Machine Learning Edge Device 中文标题:使用机器学习边缘设备的快速目标检测 作者信息: Richard C. Rodriguez, MSDA Information Systems and Cyber Security Department, The University of Tex…

IEEE新晋“水刊”,非OA,2个月可录,毕业神刊比《IEEE Access》更保险!

本期解析:综合类 本期解析IEEE旗下的【综合类-仪器仪表】SCI 优点: 审稿速度快,快的2-4个月录用; 非OA,国人友好,录用率高; 缺点: 出版周期可能较长 期刊简介 IEEE Sensors Jou…

【Java】jvisualvm工具

jdk8及以下版本自带,在jdk的bin目录下,jvisualvm.exe jdk8以上去官网下载:https://visualvm.github.io/index.html 本地的会自动获取,发布在服务器上的用远程进行连接,发布的程序需配置JVM参数,如下 -Dcom…

Linux下的文件打包、压缩和解压缩

文章目录 打包、压缩、解压缩整体介绍数据压缩gzip示例压缩单个文件压缩多个文件保留原始文件并压缩递归压缩目录解压缩文件查看gz压缩文件的内容 bzip2示例压缩单个文件压缩多个文件压缩目录下的文件解压缩文件查看bz2压缩文件的内容 命令行选项总结 zip示例压缩文件解压缩文件…

vue3学习之插槽slot

关于slot web组件内部的占位符,可以使用自己的标记填充这个占位符 ,具名插槽就是在slot标签上添加name属性(https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/slot) vue3官方文档:https://cn.vuejs.org/gui…

微星主板安装系统进不去系统及bios办法

大部分原因是由于主板bios内部开启了 快速启动 选项导致的 可通过另外一个方式进入bios 1.打开控制面板--windows更新-高级启动-点立即重启 之后会进入疑难解答 ---高级----固件设置---点重启就会进入bios了 2.安装系统时注意事项:一般uefi启动对应的是gpt分区&…

柒拾伍- AI内容农场生产文章自动发布至公众号 (一)

一、内容农场 X AI 看过很多的新闻说 AI 产生 内容 污染网络,我也想试一下到底能污染成怎样。 然后为了编写爆款的内容,我选用这个 内容农场 的种子是来源于 微博热搜,让生长出来的垃圾文章更加火爆 涉及内容不能放 二、编写代码 关于代…

上半年净利下滑85%,光峰科技能否靠“上车”扭转局面?

尽管车载业务环比增了3倍,光峰科技今年上半年的净利润依然同比下滑了85%。 根据光峰科技发布的半年报显示,今年上半年,光峰科技营业收入为10.81亿元,同比微增0.76%;实现归属上市公司股东的净利润为1090.96万元&#x…

Java智能匹配灵活用工高效人力资源管理系统小程序源码

智能匹配灵活用工高效人力资源管理系统 💼🚀 🚀 开篇:职场新风尚,智能匹配引领变革 在这个瞬息万变的时代,职场也在经历着前所未有的变革。传统的用工模式已难以满足现代企业的需求,而“智能匹…

【兼容多端】UNIAPP popper气泡弹层vue3+typescript unibest

最近要实习一个泡泡弹层。看了下市场的代码,要么写的不怎么好,要么过于复杂。于是拿个轮子自己加工。200行代码撸了个弹出层组件。兼容H5和APP和小程序。 功能: 1)只支持上下左右4个方向的弹层不支持侧边靠齐 2)不对屏幕边界适配 3)支持弹层…

[含文档+PPT+源码等]精品基于asp.net实现的原生Andriod病例管理随访系统[包运行成功+永久免费答疑辅导]

基于ASP.NET实现的原生Android病例管理随访系统背景,可以从以下几个方面进行阐述: 一、技术背景 ASP.NET技术框架 ASP.NET是由微软开发的一种用于构建动态Web应用程序和服务的开源服务器端Web应用框架。它提供了一套丰富的工具和库,支持多种…

真实世界数据,重构临床试验在药物研发的价值!

近年来,真实世界数据(RWD)和真实世界证据(RWE)在学术界和工业界备受瞩目。为了促进国际间的交流合作,并提升中国RWE在全球的影响力,阿斯利康于2023年成立了真实世界证据外部咨询委员会&#xff…

FP8013:单节锂电池降压 切五路调光 补光灯/摄影灯 芯片,3A无频闪调光 体积小、效率高、静态功耗低

随着直播行业的不断发展,补光灯的关键性能也日益受到重视。为了提供更好的补光视觉效果,我们需要一种高效、稳定的调光芯片来驱动补光灯的亮度。 一、芯片特色 1、FP8013 工作电压 2.5V~5.5V 适用于单节锂电池和USB口5V输入。 2、内置高低侧切换 MOS&am…

STM32 DMA直接存储器访问 USART串口DMA发送 F407寄存器

DMA介绍: 特点: DMA:直接存储器访问 用于外设与存储器间以及存储器与存储器之间 提高数据传输的一种工具(片上外设) CPU相当于餐厅老板,只需要告诉DMA快递员 …