Python爬虫零基础教学第一天

发布时间 2023-05-06 01:20:40作者: 寒心小呆

Python爬虫高级开发/大数据抓取/从入门到精通/商业项目实战(1)

开始时间2023-05-05 22:02:26

结束时间2023-05-06 01:09:52

 一、DNS

DNS 域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP接口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

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

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

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

二、HTTP&HTTPS

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

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

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

4)HTTP工作原理 网络爬虫抓取过程可以理解为模拟浏览器操作的过程 。 浏览器的主要功能是向服务器发出请求,在浏览器窗口中展示您选择的网络资源,HTTP是一套计算机 通过网络进行通信的规则

5)HTTP的请求与响应 HTTP通信由两部分组成: 客户端请求消息 与 服务器响应消息

6)浏览器发送HTTP请求的过程: 1. 当用户在浏览器的地址栏中输入一个URL地址并按回车键之后,浏览器会向HTTP服务器发送 HTTP请求。 HTTP请求主要分为 Get 和 Post 两种方法。 2. 当我们在浏览器输入URL http://www.baidu.com 的时候,浏览器发送一个Request请求去获取 htt p://www.baidu.com 的html文件,服务器把Response文件对象发送回给浏览器。 3. 浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如Images文件,CSS文 件,JS文件。 浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件等。 4. 当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来了。

7)URL(Uniform / Universal Resource Locator的缩写):统一资源定位符,是用于完整地描述

8)Internet上网页和其他资源的地址的一种标识方法。

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

scheme:协议(例如:http, https, ftp)

host:服务器的IP地址或者域名

port:服务器的端口(如果是走协议默认端口,缺省端口80)

path:访问资源的路径

query-string:参数,发送给http服务器的数据

anchor:锚(跳转到网页的指定锚点位置)

9)客户端HTTP请求 URL只是标识资源的位置,而HTTP是用来提交和获取资源。客户端发送一个HTTP请求到服务器的请求 消息,包括以下格式: 四个部分组成,下图给出了请求报文的一般格式。

 10)请求方法

a.HTTP 0.9:只有基本的文本 GET 功能。

b.HTTP 1.0:完善的请求/响应模型,并将协议补充完整,定义了三种请求方法: GET, POST 和 HEAD 方法。

c.HTTP 1.1:在 1.0 基础上进行更新,新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

d.HTTP 2.0(未普及):请求/响应首部的定义基本没有改变,只是所有首部键必须全部小写,而且请求 行要独立为 :method、:scheme、:host、:path这些键值对。

三、响应状态码

100~199:表示服务器成功接收部分请求,要求客户端继续提交其余请求才能完成整个处理过 程。

200~299:表示服务器成功接收请求并已完成整个处理过程。常用200(OK 请求成功)。

300~399:为完成请求,客户需进一步细化请求。例如:请求的资源已经移动一个新地址、常 用302(所请求的页面已经临时转移至新的url)、307和304(使用缓存资源)。

400~499:客户端的请求有错误,常用404(服务器无法找到被请求的页面)、403(服务器拒 绝访问,权限不够)。

500~599:服务器端出现错误,常用500(请求未完成。服务器遇到不可预知的情况)。

 

 实战操作

一、安装虚拟机

1.登入界面

2.执行配置文件在PythonENVISION文件夹中有configure.sh配置文件通过bash configure.sh命令执行该文件进行配置,输入密码看不见

3.配置完成

 4.执行reboot重启一下虚拟机,把刚刚配置好的环境加载进来

 5.点击快速休眠,下一次打开可继续使用

二、pycharm

1.创建文件

 2.安装requests

 3.下载完成

 4.查看

 5.获取博客园地址源代码

import requests


# 请求地址
url = 'https://www.cnblogs.com/'

# 发送网络请求
response = requests.get(url)

# print(response,type(response))

text = response.text

print(text)

 

总结:爬虫是什么?我认为爬虫是模拟浏览器向特定网页发送请求从而获取数据的过程。根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种.通用性搜索引擎局限性的逐渐暴露,聚焦爬虫得到广泛的使用。聚焦爬虫,是"面向特定主题需求"的一种网络爬虫程序,它与通用搜索引擎爬虫的区别在于: 聚焦爬虫 在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页信息。在大数据时代,数据的需求越来越大爬虫工程师在每个领域不可或缺,掌握爬虫技术也越来越重要,从零开始试着成为一名优秀的爬虫工程师。

每日一mo:我没剩什么可输的了,尽力战斗便好!