网络爬虫-----初识爬虫

2023-09-12 21:47:44

目录

1. 什么是爬虫?

1.1 初识网络爬虫

1.1.1 百度新闻案例说明

1.1.2 网站排名(访问权重pv)

2. 爬虫的领域(为什么学习爬虫 ?)

2.1 数据的来源

2.2 爬虫等于黑客吗?

2.3 大数据和爬虫又有啥关系?

2.4 爬虫的领域,前景

3. 总结

什么是爬虫?

爬虫能抓取拿些数据?


1. 什么是爬虫?

本节课程的内容是介绍什么是爬虫?爬虫有什么用?以及爬虫是如何实现的?从这三点一起来寻找答案!

1.1 初识网络爬虫

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本

也就是说,爬虫可以自动化浏览网络中的信息,当然浏览信息的时候需要按照我们制定的规则进行,这些规则我们称之为网络爬虫算法。而Python可以很方便地编写出爬虫程序,进行互联网信息的自动化检索。

搜索引擎离不开爬虫,比如百度搜索引擎的爬虫叫作百度蜘蛛(Baiduspider)。百度蜘蛛每天会在海量的互联网信息中进行爬取,爬取优质信息并收录,当用户在百度搜索引擎上检索对应关键词时,百度将对关键词进行分析处理,从收录的网页中找出相关网页,按照一定的排名规则进行排序并将结果展现给用户。

1.1.1 百度新闻案例说明

在这个过程中,百度蜘蛛起到了至关重要的作用。那么,如何覆盖互联网中更多的优质网页?又如何筛选这些重复的页面?这些都是由百度蜘蛛爬虫的算法决定的。采用不同的算法,爬虫的运行效率会不同,爬取结果也会有所差异。

1.1.2 网站排名(访问权重pv)

所以,我们在研究爬虫的时候,不仅要了解爬虫如何实现,还需要知道一些常见爬虫的算法,如果有必要,我们还需要自己去制定相应的算法,在此,我们仅需要对爬虫的概念有一个基本的了解。

2. 爬虫的领域(为什么学习爬虫 ?)

我们初步认识了网络爬虫,但是为什么要学习网络爬虫呢?

如今,人工智能,大数据离我们越来越近,很多公司在开展相关的业务但是人工智能和大数据中有一个东西非常重要,那就是数据,但是数据从哪里来呢?

首先,我们先看下面这个例子 百度指数

这是百度的百度指数的一个截图,它把用户在百度上的搜索关键词做了一个统计,然后根据统计结果得出一个流行趋势,之后进行了简单的展示。

像微博上的热搜,就是这么一个原理,类似的指数网站还有很多,比如阿里指数,360指数等等,而这些网站有非常大的用户量,他们能够获取自己用户的数据进行统计和分析

那么,对于一些中小型的公司,没有如此大的用户量的时候,他们该怎么办呢?

2.1 数据的来源

1.去第三方的公司购买数据(比如:企查查)

2.去免费的数据网站下载数据(比如:国家统计局)

3.通过爬虫爬取数据

4.人工收集数据(比如:问卷调查)

在上面的数据来源中,人工的方式费时费力,效率低下,免费的数据网站上面的数据质量不佳,很多第三方的数据公司他们的数据往往也是爬虫获取的,所以获取数据最有效的途径就是通过爬虫爬取

2.2 爬虫等于黑客吗?

爬虫和黑客的区别

黑客和爬虫最大的区别就是行为目的不同,黑客是干坏事,爬虫是干好事。因为黑客和爬虫使用的技术都是差不多,都是通过计算机网络技术进行对用户电脑、网站、服务器进行入侵然后获取数据信息。区别是黑客是非法入侵,爬虫是合法入侵。比如黑客通过破解网站后台验证码技术然后模拟登陆网站数据库,把数据库删掉或者直接修改人家数据库,这种是非法入侵,破坏性行为、违法行为。 同样也是破解验证码技术,但是爬虫就不同了,比我需要获取某些政府网站的一些公开数据,但是每次都需要输入验证码很麻烦,为了提高数据分析的工作效率,爬虫技术也是通过绕过验证码技术去采集网站公开、开放的数据,不会获取隐私不公开的数据。 如果把数据比喻女人,爬虫和黑客是男人,那么爬虫是男朋友,是在正当合法、名正言顺的情况下和女的发生了关系,然而黑客不同,黑客就是强奸犯了,因为女的不是自愿的,黑客是强制性,甚至用暴力来和女的发生关系。这个就是黑客和爬虫的本质不同地方,虽然采用类似的技术手段来获取数据,但是采取的技术行为和最终导致的后果性质是不同的。一个是违法需要承担法律后果,一个是国家支持鼓励的是合法的。不管是爬虫还是黑客技术 都是一个工具而已,就像是菜刀一样,有人拿去切菜,有人拿去杀人,那菜刀是好还是坏呢,其实菜刀只是一个工具而已,好坏在于使用者的行为的结果

2.3 大数据和爬虫又有啥关系?

爬虫是在互联网上抓取数据,而获取的数据的量,决定了与大数据的兄弟关系是否更加亲密

2.4 爬虫的领域,前景

  • 人脸识别:您做人工智能是需要大数据的,举个例子您想做一个自动识别人脸的人工智能机器。您首先需要根据人脸生物特征建立AI模型,然后需要几千万或者几十亿张人脸图片进行不断的训练这个模型,最后才得到精准的人脸识别AI。几十亿的人脸图片数据哪里来呢? 公安局给你?不可能的!一张张去拍照?更不现实啦! 那就是通过网络爬虫技术建立人脸图像库,比如我们可以通过爬虫技术对facebook、qq头像、微信头像等进行爬取,来实现建立十几亿的人脸图像库。

  • 市场分析:电商分析、商圈分析、一二级市场分析等

  • 市场监控:电商、新闻、房源监控等

  • 商机发现:招投标情报发现、客户资料发掘、企业客户发现等

  • 。。。等等

学到后面的数据分析,还可以用爬虫获取金融股票数据进行数据分析,技术型炒股

3. 总结

什么是爬虫?

网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟客户端发送网络请求,接收请求响应,一种按照一定的规则,自动的抓取互联网信息的程序。

原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做,也就是说万物皆可爬,可视即可爬

爬虫能抓取拿些数据?

  • 网页文本

  • 图片

  • 视频,音频

  • 其他(只要能请求到的 就意味着都能获取到)

 好了,以上就是对网络爬虫的简单介绍了,你们对网络爬虫是否有了初步的认识呢?今后我会开设关于网络爬虫的专栏,我们一起来学习网络爬虫,各位多多支持我吧!

分享一张壁纸: 

更多推荐

Spring Boot集成EasyExcel实现数据导出

在本文中,我们将探讨如何使用SpringBoot集成EasyExcel库来实现数据导出功能。我们将学习如何通过EasyExcel库生成Excel文件,并实现一些高级功能,如支持列下拉和自定义单元格样式,自适应列宽、行高,动态表头,以及如何同时导出多个sheet页的数据。引入依赖首先,我们需要在pom.xml文件中添加E

【前端系列】前端如何使用websocket发送消息

序言今天来学习一下前端如何使用websocket发送消息1基础介绍1.1什么是WebSocketWebSocket是一种在单个TCP连接上进行全双工通信的协议,它可以让客户端和服务器之间进行实时的双向通信。与传统的HTTP请求不同,WebSocket使用了一个长连接,在客户端和服务器之间保持持久的连接,从而可以实时地发

TCP 和 UDP 的 Socket 调用

在网络层,Socket函数需要指定到底是IPv4还是IPv6,分别对应设置为AF_INET和AF_INET6。另外,还要指定到底是TCP还是UDP。TCP协议是基于数据流的,所以设置为SOCK_STREAM,而UDP是基于数据报的,因而设置为SOCK_DGRAM。TCP的服务端要先监听一个端口,一般是先调用bind函数

若依框架集成WebSocket带用户信息认证

一、WebSocket基础知识我们平时前后台请求用的最多的就是HTTP/1.1协议,它有一个缺陷,通信只能由客户端发起,如果想要不断获取服务器信息就要不断轮询发出请求,那么如果我们需要服务器状态变化的时候能够主动通知客户端就需要用到WebSocket了,WebSocket是一种网络传输协议,同样也位于OSI模型的应用层

c++学习之十四

1)利用std::function实现回调函数,实现生产者及消费者模型//254、回调函数的实现//在消息队列和网络库的框架中,当接收到消息(报文)时,回调用户自定义的函数对象,把消息(报文)参数传给它,由它决定如何处理。//示例://254、回调函数的实现//在消息队列和网络库的框架中,当接收到消息(报文)时,回调用

【2023】Redis相关面试题

1.Redis是什么?它有什么特点?答:Redis是一个使用C语言编写的开源、高性能、支持多种数据结构的NoSQL数据库。支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等。数据存储在内存中,可以快速读写。支持数据持久化,可以将数据保存到磁盘上。提供了丰富的功能,如发布订阅、事务、Lua脚本等。具有高可用性和可

jvm面试题

jvm内存区域Q:jvm内存区域怎么划分的?答:堆内存(线程共享):所有线程共享的一块区域,垃圾收集器管理的主要区域。主要存储对象、数组。Java堆中还可以细分为:新生代和老年代;再细致一点的有Eden空间、FromSurvivor空间、ToSurvivor空间等,默认情况下新生代按照8:1:1的比例来分配。程序计数器

IMX6ULL ARM Linux开发板SD卡启动,SD卡的分区与分区格式化创建

一、确定TF卡挂载到ubuntu上的设备名称及分区情况1.在ubuntu不接入TF卡的情况下,使用df-lh/dev/sd*命令查看当前"/dev/sd开头"的设备。##输入df-lh/dev/sd*命令,敲回车键~$df-lh/dev/sd*2.将TF卡接入到ubuntu,再次使用df命令,进行查看,多出来的设备即是

【C++】C++ 语言对 C 语言的加强 ④ ( C 语言中的三目运算符 - 不能作为左值 | C++ 语言中的三目运算符增强 | C 语言中三目运算符作为左值使用 )

文章目录一、C语言中的三目运算符二、C语言中三目运算符不能作为左值三、C++语言中的三目运算符增强四、C语言中三目运算符作为左值使用一、C语言中的三目运算符C语言中的"三目运算符",又称为"条件运算符",相当于一个简化版本的ifelse语句;三目运算符语法:condition?expression1:expressio

STM32--PWR电源控制

文章目录PWR电源电源管理器上电复位(POR)和掉电复位(PDR)可编程电压监测器(PVD)低功耗模式睡眠模式停止模式待机模式睡眠模式工程停止模式待机模式PWRSTM32的PWR模块是其电源管理系统的核心部分,负责控制和管理芯片的供电和电源状态。电源STM32的工作电压(VDD)为2.0~3.6V。通过内置的电压调节器

【C++】C++ 引用详解 ⑨ ( 常量引用初始化 | C / C++ 常量分配内存的四种情况 )

文章目录一、常量引用初始化1、使用"普通变量"初始化"常量引用"2、使用"常量/字面量"初始化"常量引用"3、C/C++常量分配内存的四种情况4、代码示例-常量引用初始化一、常量引用初始化1、使用"普通变量"初始化"常量引用"使用"普通变量"初始化"常量引用",就是将普通变量赋值给常量应用,也可以理解为将变量转为常量;

热文推荐