上节内容回顾:【爬虫基础】第一部分 网络通讯 P1/3-CSDN博客
【爬虫基础】第一部分 网络通讯-Socket套接字 P2/3-CSDN博客
【爬虫基础】第一部分 网络通讯-编程 P3/3-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)垂直爬虫
这类爬虫主要针对一些特定对象、网站,有一台指定的爬取路径、数据抽取规则。
比如今日头条,它的目标网站就是所有的新闻类网站。
比如Etao比价、网易的慧慧购物助手,他的目标网站就是 淘宝、京东等等电商网站。
通用爬虫和垂直爬虫显著的区别:A.抓取范围,通用爬虫的抓取范围要比垂直爬虫大得多,一个是整个互联网,一个是指定的网站。
B.爬取路线,一个通用爬虫要不按照深度爬取、要不是按广度爬取。 而垂直爬虫则可能是按照指定路线爬取。
C.数据处理,通用爬虫一般就是分词、索引到数据库。 而垂直爬虫则通过特定的规则来抽取更加精细的数据 。
2.4 爬虫的流程原理
用户获取网络数据的方式:
方式1:浏览器提交请求--->下载网页代码--->解析成页面
方式2:模拟浏览器发送请求(获取网页代码)->提取有用的数据->存放于数据库或文件中
爬虫要做的就是方式2。
爬虫的流程步骤:1.准备数据(网站地址)
2.发送请求,获取响应
3.解析响应,数据提取
4.保存数据
1)准备数据(网站地址)
2)发起请求,获取响应
爬虫首先会向目标网站发送HTTP请求,以获取网页的HTML源码。
Request包含:请求头、请求体等
Request模块缺陷:不能执行JS 和CSS 代码
如果服务器能正常响应,则会得到一个ResponseResponse包含:html,json,图片,视频等
3)解析响应,数据提取
获取到HTML源码后,爬虫会使用解析器对网页进行解析,提取出所需的信息。
解析html数据:正则表达式(RE模块),第三方解析库如Beautifulsoup,pyquery等
解析json数据:json模块
解析二进制数据:以wb的方式写入文件
4)保存数据
提取出的信息会被存储到本地文件、数据库或其他存储介质中,以便后续的分析和处理
数据库([MySQL],Mongdb、Redis)
文件
注意:法律和道德问题
在使用爬虫时,需要遵守一定的法律和道德准则,尊重网站的隐私政策和使用条款,确保合法和负责任地使用爬虫技术。
今天先到这里吧~~
预知后事如何,且听下回分解~ ok
项目管理--相关知识
项目管理-项目绩效域1/2_八大绩效域和十大管理有什么联系-CSDN博客
项目管理-计算题公式【复习】_项目管理进度计算题公式:乐观-CSDN博客
项目管理-相关知识(组织通用治理、组织通用管理、法律法规与标准规范)-CSDN博客
Oracle其他文档,希望互相学习,共同进步
Oracle-找回误删的表数据(LogMiner 挖掘日志)_oracle日志挖掘恢复数据-CSDN博客
oracle 跟踪文件--审计日志_oracle审计日志-CSDN博客
ORA-12899报错,遇到数据表某字段长度奇怪现象:"Oracle字符型,长度50"但length查却没有50_varchar(50) oracle 超出截断-CSDN博客