网站破解权限 渗透劫持 黑客数据
5.03K subscribers
570 photos
1 video
51 links
Download Telegram
网络爬虫技术的原理涉及三部分:Python编程基础、HTML网页基础、HTTP原理以及Requests库,首先,我们既然要使用Python编写爬虫,自然要掌握Python的基础编程知识;其次,我们的爬虫是从互联网的网页上抓取信息,所以要对目的网页有一定的了解,即HTML网页基础;最后,爬虫程序要处理和web站点进行的请求与响应,所以还要了解HTTP的通信原理以及Python中用来处理HTTP请求和响应的Requests库。
1
Python语言是一种面向对象的解释型计算机程序设计语言,具有面向对象和解释性语言两个重要特征。
向对象是相对于面向过程而言的。比如C语言、Shell语言就是面向过程的,面向过程是一件事“该怎么做”,编程的时候把解决问题的步骤分析出来,然后用函数把这些步骤实现;面向对象是一种以“对象”为中心的编程思想,把要解决的问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个对象在整个解决问题的步骤中的属性和行为,面向对象是一件事“该让谁来做”,这个“谁”就是对象,他要怎么做是他自己的事,反正最后一群对象合力能把事做好就行了。至于解释型语言,我们在编程时使用的是高级语言,计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的程序。解释型语言的优点是可跨平台运行,缺点则是运行时需要源代码,知识产权保护性差,运行效率低。
HTML 标签 (HTML tag)由尖括号包围,通常是成对出现的,比如 <header> 和 </header>,<body>和</body>,在我们抓取图片的爬虫程序中,就需要获得img标签后面的图片url链接来下载图片。

我们在编写爬虫时构建HTTP的请求并处理HTTP的响应,如果从零开始,效率非常低,所以就需要用到Python中的Request库。Requests是一种常用的http请求库,可以方便地发送http请求并处理响应结果,极大地提高了效率。
Python网络爬虫既可以在本地运行,也可以在云端运行。相对于本地运行方案,华为云上运行爬虫具有更多优势:
华为云上运行爬虫程序可将爬取到的数据分为两类,图片存储到OBS对象存储,文本存储到RDS数据库中。
第一步是洞察目标网页并且完成Python网络爬虫的编写;

第二步是ECS运行Python爬虫并用RDS存储文本数据;

第三步是使用OBS存储抓取的图片。
网络搜索引擎和其他一些网站使用网络爬虫或蜘蛛软件来更新他们的网络内容或其他网站的网络内容索引。网络爬虫复制页面以供搜索引擎处理,搜索引擎对下载的页面进行索引,以便用户可以更有效地搜索。
网络数据采集程序就像是一只辛勤采蜜的小蜜蜂,它飞到花(目标网页)上,采集花粉(需要的信息),经过处理(数据清洗、存储)变成蜂蜜。
爬虫抓取了这些内容之后需要数据存储,一般存储于数据库或 csv 文件中。

数据采集完毕需要对采集的数据经行清洗,删除一些空数据、异常数据等,清洗的目的主要是:使数据质量达到项目的要求。

对于一些涉及查看当下热门话题的爬虫项目,还需要使用自然语言处理。

在网络爬虫抓取数据的时候,目标网站可能设置了验证码、网络爬虫陷阱,同时相同的 User-Agent 也会被视为非正常用户,这些都需要避开。

有的时候频繁的抓取一个网站的数据,可能会被管理员将 IP 加入黑名单,这个时候会需要使用到代理 IP ,来避免 IP 地址被封杀。

以上都是网络爬虫需要的技能,我会在接下来的章节中,详细介绍爬虫的每一个技术,使大家学会使用网络爬虫获取自己需要的数据。
(1)通用网络爬虫

访问全互联网资源,

将互联网中的网页下载到本地,形成一个互联网内容的镜像备份。

(2)聚焦网络爬虫

有选择性地访问与目标主题相关的网页,获取所需要的数据。

(3)增量式网络爬虫

只抓取新产生或者已经发生变化的网页的网络爬虫。

(4)深层网络爬虫

是指抓取深层网页的网络爬虫。
第一步

搜索引擎去成千上万个网站抓取数据。

第二步

搜索引擎通过爬虫爬取到的网页,将数据存入原始页面数据库(也就是文档库)。其中的页面数据与用户浏览器得到的HTML是完全—样的。

第三步

搜索引擎将爬虫抓取回来的页面,进行各种步骤的预处理:中文分词,消除噪音,索引处理······

搜索引擎在对信息进行组织和处理后,为用户提供关键字检索服务,将用户检索相关的信息展示给用户。展示的时候会进行排名。
通用网络爬虫是搜索引擎抓取系统(Baidu、Google、Sogou等)的一个重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。为搜索引擎提供搜索支持。
针对通用爬虫的这些情况,聚焦爬虫技术得以广泛使用。聚焦爬虫,是"面向特定主题需求"的一种网络爬虫程序,它与通用搜索引擎爬虫的区别在于:聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页数据。
Robots协议也叫爬虫协议、机器人协议等,全称是“网络爬虫排除标准”(Robots ExclusionProtocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取
IP地址就跟我们的身份证一样,可以识别计算机的身份,一旦IP地址被限制,我们将无法对网站进行其他操作,此时我们可以通过代理IP的方式解决这个问题。
代理IP: 可以理解成一个中间平台,我们的程序先将请求发出到代理IP,由代理IP再将我们的实际请求发给对应的网站,此时,网站看到的访问IP就是代理IP,而不是我们的计算机的实际IP地址,这样就可以避开网站的封禁限制(通俗的理解:我们的“身份证”被拉入了访问黑名单,此时可以通过借助其他人的“身份证”来访问)。
.代理IP池: 单一的代理IP还是存在容易被封禁的问题,因此,可以将多个代理IP维护到一个“池”中(跟线程池类似),当某个代理IP被封禁时,可以切换到其他的代理IP,这样被封禁的概率将大大降低。