【爬虫基础】第二部分 爬虫基础理论 P1/3

上节内容回顾:【爬虫基础】第一部分 网络通讯 P1/3-CSDN博客

【爬虫基础】第一部分 网络通讯-Socket套接字 P2/3-CSDN博客

【爬虫基础】第一部分 网络通讯-编程 P3/3-CSDN博客

爬虫相关文档,希望互相学习,共同进步

风123456789~-CSDN博客


前言

1.知识点碎片化:每个网站实现的技术相似但是有区别,要求我们根据不同的网站使用不同的应对手段。主要是常用的一些网站爬取技术。

2.学习难度:入门比web简单,但后期难度要比web难,在于爬虫工程师与网站开发及运维人员的对抗。比如你写了爬虫但是被网站运维人员发现后添加反爬,那么就要解决反爬。即平台更新换代,爬虫策略需要实时更新。

3.学习特点:以摸个网站爬虫为讲解对象,即一个技术点的案例。

4.后续发展:要求掌握的东西多,工作中根据工作需要涉及到更多没有接触的知识。

5.法律层面:爬虫相关工作属于灰色地带,目前国内现行法律对于爬虫相关评判还没有明确制度。

6.建议:好记性不如烂笔头,建议多找网站进行爬取联系,同时做好笔记。

1.概述

爬虫通常会遵循一定的规则和算法,以确保能够高效地遍历互联网并收集到所需的数据。

本节章节:

第一节 爬虫理论原理 (本文)

第二节 http协议

第三节 chrome浏览器抓包说明

2.爬虫理论原理

知识点:

1.爬虫的概念

2.爬虫的作用

3.爬虫的分类

4.爬虫的流程

2.1 爬虫的概念

爬虫 就是自动抓取互联网信息的程序。

‌爬虫(Web Crawler)是一种按照一定规则从互联网上抓取信息的程序。‌它与用户正常访问信息的区别在于,用户是缓慢、少量地获取信息,而爬虫则是大量地获取信息。爬虫通过模拟浏览器请求网站的行为,获取网页的HTML代码、JSON数据或二进制数据(如图片、视频、音频等),并将其存储或进行进一步处理。‌

再通俗讲,如果说互联网是一张大的蜘蛛网,数据便是存放于蜘蛛网的各个节点,而爬虫就是一只小蜘蛛,沿着网络抓取自己的猎物(数据)爬虫指的是:向网站发起请求,获取资源后分析并提取有用数据的程序。从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HTML代码/JSON数据/二进制数据(图片、视频) 爬到本地,进而提取自己需要的数据,存放起来使用。

2.2 爬虫的作用

为什么要使用爬虫?

大数据时代,要进行数据分析,首先要有数据源,而学习爬虫,可以让我们获取更多的数据源,并且这些数据源可以按我们的目的进行采集,去掉很多无关数据。

在进行大数据分析或者进行数据挖掘的时候,数据源可以从某些提供数据统计的网站获得,也可以从某些文献或内部资料中获得,但是这些获得数据的方式,有时很难满足我们对数据的需求,而手动从互联网中去寻找这些数据,则耗费的精力过大。

此时就可以利用爬虫技术,自动地从互联网中获取我们感兴趣的数据内容,并将这些数据内容爬取回来,作为我们的数据源,从而进行更深层次的数据分析,并获得更多有价值的信息。
爬虫的作用:

1)数据采集

爬虫可以快速收集大量数据,常用于市场调研、竞争分析等。

2)数据统计

通过分析大量数据,可以发现一些人为难以察觉的模式和趋势。

3)数据的功能性集成(如:刷流量与秒杀活动 ‌**)**

爬虫可以模拟大量用户访问,增加网站的访问量,甚至参与秒杀活动。

2.3 爬虫的分类

爬虫的类型

  1. 通用爬虫 ‌:用于收集互联网上的大量数据,例如搜索引擎的爬虫。它们遍历整个网页链接,并按照规则提取相关信息。
  2. 聚焦爬虫‌:针对特定主题或领域进行数据收集。它们只访问和提取与预设主题相关的网页数据。对某个单一的平台,单独开发的爬虫 采集抖音的爬虫程序
  3. 增量式爬虫‌:主要用于定期更新数据,而不是每次都全面爬取。它们记录上一次爬取的时间戳,只访问和提取自上次爬取以来更新过的网页数据。
  4. 深度爬虫‌:专门用于访问和收集隐藏在互联网深层网页中的信息。这些网页通常不被搜索引擎索引,需要特殊的技术和算法才能访问和提取数据。
  5. 垂直爬虫‌:专注于特定网站或特定类型网页的数据收集,例如新闻爬虫、电商产品爬虫等。
  6. 社交媒体爬虫‌:用于在各种社交媒体平台上抓取用户的信息、帖子、评论等数据,常用于情感分析、舆情监测等应用。

1)通用爬虫

类似百度、谷歌这样的爬虫,抓取对象是整个互联网,对于网页没有固定的抽取规则。 对于所有网页都是一套通用的处理方法。

需要采集网站(平台):特别多

收集的信息非常有限

收集网页的标题

采集算法

2)垂直爬虫

这类爬虫主要针对一些特定对象、网站,有一台指定的爬取路径、数据抽取规则。

比如今日头条,它的目标网站就是所有的新闻类网站。

比如Etao比价、网易的慧慧购物助手,他的目标网站就是 淘宝、京东等等电商网站。
通用爬虫和垂直爬虫显著的区别:

A.抓取范围,通用爬虫的抓取范围要比垂直爬虫大得多,一个是整个互联网,一个是指定的网站。

B.爬取路线,一个通用爬虫要不按照深度爬取、要不是按广度爬取。 而垂直爬虫则可能是按照指定路线爬取。

C.数据处理,通用爬虫一般就是分词、索引到数据库。 而垂直爬虫则通过特定的规则来抽取更加精细的数据 。

2.4 爬虫的流程原理

用户获取网络数据的方式:

方式1:浏览器提交请求--->下载网页代码--->解析成页面

方式2:模拟浏览器发送请求(获取网页代码)->提取有用的数据->存放于数据库或文件中

爬虫要做的就是方式2。
爬虫的流程步骤: 1.准备数据(网站地址)

2.发送请求,获取响应

3.解析响应,数据提取

4.保存数据

1)准备数据(网站地址)

2)发起请求,获取响应

爬虫首先会向目标网站发送HTTP请求,以获取网页的HTML源码。

Request包含:请求头、请求体等

Request模块缺陷:不能执行JS 和CSS 代码
如果服务器能正常响应,则会得到一个Response

Response包含:html,json,图片,视频等

3)解析响应,数据提取

获取到HTML源码后,爬虫会使用解析器对网页进行解析,提取出所需的信息。

解析html数据:正则表达式(RE模块),第三方解析库如Beautifulsoup,pyquery等

解析json数据:json模块

解析二进制数据:以wb的方式写入文件

4)保存数据

提取出的信息会被存储到本地文件、数据库或其他存储介质中,以便后续的分析和处理

数据库(MySQL,Mongdb、Redis)

文件

注意:法律和道德问题

在使用爬虫时,需要遵守一定的法律和道德准则,尊重网站的隐私政策和使用条款,确保合法和负责任地使用爬虫技术。

今天先到这里吧~~

预知后事如何,且听下回分解~ ok


项目管理--相关知识

项目管理-项目绩效域1/2-CSDN博客

项目管理-项目绩效域1/2_八大绩效域和十大管理有什么联系-CSDN博客

项目管理-项目绩效域2/2_绩效域 团不策划-CSDN博客

高项-案例分析万能答案(作业分享)-CSDN博客

项目管理-计算题公式【复习】_项目管理进度计算题公式:乐观-CSDN博客

项目管理-配置管理与变更-CSDN博客

项目管理-项目管理科学基础-CSDN博客

项目管理-高级项目管理-CSDN博客

项目管理-相关知识(组织通用治理、组织通用管理、法律法规与标准规范)-CSDN博客


Oracle其他文档,希望互相学习,共同进步

Oracle-找回误删的表数据(LogMiner 挖掘日志)_oracle日志挖掘恢复数据-CSDN博客

oracle 跟踪文件--审计日志_oracle审计日志-CSDN博客

ORA-12899报错,遇到数据表某字段长度奇怪现象:"Oracle字符型,长度50"但length查却没有50_varchar(50) oracle 超出截断-CSDN博客

EXP-00091: Exporting questionable statistics.解决方案-CSDN博客

Oracle 更换监听端口-CSDN博客

相关推荐
临沂GEO1 小时前
GEO搜索优化科普|正规地理位置流量运营入门指南
大数据·人工智能·python·流量运营
大模型码小白1 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
深蓝电商API2 小时前
常见反爬策略全解析
爬虫·反爬策略
荷蒲2 小时前
【小白量化Qbuddy】利用AI学习中文Python
人工智能·python·学习
数据狐(Datafox)4 小时前
京东商品列表API技术解析与落地应用(含标准 JSON 示例)
java·大数据·前端·人工智能·python·数据分析·json
量化吞吐机4 小时前
2026年下半年手工交易规则走向量化表达,产品该先接住哪一步
人工智能·python
Metaphor6925 小时前
使用 Python 读取和删除 Excel 文件属性
python·excel
迷迭香yy5 小时前
Python构建转融券多空识别系统从接口到因子的全流程 IG50免费开源股票数据API接口
开发语言·python·开源
月光船幽幽6 小时前
真实即粗糙,光滑是伪造
人工智能·python
一次旅行6 小时前
Attention机制从数学到工程:拆解缩放点积+多头注意力|附可运行PyTorch实现与踩坑指南
人工智能·pytorch·python