学习爬虫基础-网页基础1

本文介绍了Python网络爬虫的基础知识,包括爬虫类型、抓取网页的过程、DNS解析、HTTP与HTTPS协议。重点讲解了通用网络爬虫的工作流程,以及浏览器如何通过DNS查找IP、发送HTTP请求并解析HTML内容来展示网页。
摘要由CSDN通过智能技术生成

爬虫基础

关于Python网络爬虫,需要学习的有:

  1. Python基础语法学习(基础知识)

  2. 对HTML页面的内容抓取(Crawl)

  3. 对HTML页面的数据解析(Parse)

  4. 动态HTML的处理/验证码的处理 (针对反爬处理)

  5. Scrapy框架以及scrapy-redis分布式策略(第三方框架)

通用爬虫和聚焦爬虫

根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种.

通用爬虫

通用网络爬虫 是 捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。

通用搜索引擎(Search Engine)工作原理

通用网络爬虫 从互联网中搜集网页,采集信息,这些网页信息用于为搜索引擎建立索引从而提供支持,它决定着整个引擎系统的内容是否丰富,信息是否即时,因此其性能的优劣直接影响着搜索引擎的效果。

第一步:抓取网页

搜索引擎网络爬虫的基本工作流程如下:

首先选取一部分的种子URL,将这些URL放入待抓取URL队列;

取出待抓取URL,解析DNS得到主机的IP,并将URL对应的网页下载下来,存储进已下载网页库中,并且将这些URL放进已抓取URL队列。

分析已抓取URL队列中的URL,分析其中的其他URL,并且将URL放入待抓取URL队列,从而进入下一个循环….

这里写图片描述

第二步:数据存储

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

搜索引擎蜘蛛在抓取页面时,也做一定的重复内容检测,一旦遇到访问权重很低的网站上有大量抄袭、采集或者复制的内容,很可能就不再爬行。

第三步:预处理

搜索引擎将爬虫抓取回来的页面,进行各种步骤的预处理。

提取文字
中文分词
消除噪音(比如版权声明文字、导航条、广告等……)
索引处理
链接关系计算
特殊文件处理
除了HTML文件外,搜索引擎通常还能抓取和索引以文字为基础的多种文件类型,如 PDF、Word、WPS、XLS、PPT、TXT 文件等。我们在搜索结果中也经常会看到这些文件类型。

但搜索引擎还不能处理图片、视频、Flash 这类非文字内容,也不能执行脚本和程序。

聚焦爬虫

聚焦爬虫,是”面向特定主题需求”的一种网络爬虫程序,它与通用搜索引擎爬虫的区别在于: 聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页信息。

浏览网页的基本过程:

浏览网页的基本过程,比如我们在浏览器地址栏输入:http://www.baidu.com,回车后会浏览器会显示百度的首页。

请问:这段网络通信过程中到底发生了什么?

简单来说这段过程发生了以下四个步骤:

浏览器通过 DNS服务器 查找域名对应的 IP地址;

向 IP地址 对应的 Web服务器 发送请求;

Web服务器 响应请求,发回 HTML页面;

浏览器解析 HTML内容,并显示出来。

这里写图片描述

DNS:

DNS 是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,由解析器和域名服务器组成的。

域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。

一般一个域名的 DNS解析时间 在10~60毫秒之间。

一个域名必须对应一个IP地址,而一个IP地址不一定会有域名。

HTTP和HTTPS

HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法。

HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)简单讲是HTTP的安全版,在HTTP下加入SSL层。

SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全。

HTTP的端口号为80,
HTTPS的端口号为443
HTTP工作原理

网络爬虫抓取过程可以理解为模拟浏览器操作的过程。

浏览器的主要功能是向服务器发出请求,在浏览器窗口中展示您选择的网络资源,HTTP是一套计算机通过网络进行通信的规则。

览器发送HTTP请求的过程:

当用户在浏览器的地址栏中输入一个URL地址并按回车键之后,浏览器会向HTTP服务器发送HTTP请求。

HTTP请求主要分为 Get 和 Post 两种方法。

当我们在浏览器输入URL http://www.baidu.com 的时候,浏览器发送一个Request请求去获取 http://www.baidu.com 的html文件,服务器把Response文件对象发送回给浏览器。

浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如Images文件,CSS文件,JS文件。 浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件等。

当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来了。

URL(Uniform / Universal Resource Locator的缩写):统一资源定位符,是用于完整地描述Internet上网页和其他资源的地址的一种标识方法。
这里写图片描述

基本格式:scheme://host[:port]/path/…/[?query-string][#anchor]

scheme:协议(例如:http, https, ftp)
host:服务器的IP地址或者域名
port:服务器的端口(如果是走协议默认端口,缺省端口80)
path:访问资源的路径
query-string:参数,发送给http服务器的数据
anchor:锚(跳转到网页的指定锚点位置)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值