网页基础学习笔记

URI

URI(Uniform Resource Identifier,统一资源标志符)包括URL(Universal Resource Locator,即统一资源定位符)和URN(Universal Resource Name,统一资源名称)。但是在目前的互联网中,URN用得非常少,一般的网页链接我们既可以称为URL,也可以称为URI,习惯称为URL。

超文本

超文本(hypertext),平常看到的网页源代码HTML就可以称作超文本。

HTTP

HTTP(Hyper Text Transfer Protocol,超文本传输协议),由万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)共同合作制定,目前广泛使用的是HTTP 1.1版本。

HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),是HTTP的安全版,即HTTP下加入SSL层。

爬取自行签发CA证书的网站(12306),需要设置忽略证书的选项,否则会提示SSL链接错误。

Request

由客户端向服务端发出的request,可以分为4部分内容:请求方法(Request Method)、请求的网址(Request URL)、请求头(Request Headers)、请求体(Request Body)

请求方法有GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE等,常见的请求方法有两种:GET和POST。直接输入URL并回车,这便发起了一个GET请求.。POST请求大多在表单提交时发起。GET请求中的参数包含在URL里面,数据可以在URL中看到,而POST请求的URL不会包含这些数据,数据都是通过表单形式传输的,会包含在请求体中。GET请求提交的数据最多只有1024字节,而POST方式没有限制。

请求的网址,即统一资源定位符URL。

请求头,用来说明服务器要使用的附加信息,比较重要的信息有Cookie、Referer、User-Agent等。

请求体一般承载的内容是POST请求中的表单数据,而对于GET请求,请求体则为空。

Response

由服务端返回给客户端的response,可以分为3部分:响应状态码(Response Status Code)、响应头(Response Headers)和响应体(Response Body)。

响应状态码表示服务器的响应状态,如200代表服务器正常响应,302代表临时重定向,404代表页面未找到,500代表服务器内部错误。

响应头包含了服务器对请求的应答信息,如Content-Type、Server、Set-Cookie等。下面简要说明一些常用的头信息。

最重要的当属响应体的内容了。响应的正文数据都在响应体中。爬虫请求网页后,要解析的内容就是响应体。

网页组成

网页可以分为三大部分——HTML(Hyper Text Markup Language,即超文本标记语言)、CSS(Cascading Style Sheets,层叠样式表,使页面变得美观、优雅)和JavaScript(简称JS,是一种脚本语言,实现实时、动态、交互的页面功能)。如果把网页比作一个人的话,HTML相当于骨架,JavaScript相当于肌肉,CSS相当于皮肤,三者结合起来才能形成一个完善的网页。

HTML DOM

根据W3C的HTML DOM(Document Object Model,文档对象模型)标准,HTML文档中的所有内容都是节点。

HTML DOM将HTML文档视作树结构,这种结构被称为节点树。

通过HTML DOM,树中的所有节点均可通过JavaScript访问,所有HTML节点元素均可被修改,也可以被创建或删除。

CSS选择器

CSS选择器:最常用的3种,分别是根据id、class、标签名筛选来定位节点。例如:①id为container,那么就可以表示为#container,其中#开头代表选择id,其后紧跟id的名称。②class为wrapper,便可以使用.wrapper,这里以点(.)开头代表选择class,其后紧跟class的名称。③如想选择二级标题,直接用h2即可。

详见《CSS选择器参考手册

爬虫原理

获取网页、提取信息、保存数据、自动化程序

获取网页过程中,对于采用JavaScript渲染出来的网页,其原始的HTML代码就是一个空壳,处理上要复杂一些。

网站服务器

最基本的HTML代码保存为一个.html文件,然后把它放在某台具有固定公网IP的主机上,主机上装上Apache或Nginx等服务器,这样这台主机就可以作为服务器了。

动态网页

HTML代码编写的网页,文字、图片等内容均通过写好的HTML代码来指定,叫作静态网页。而现在遇到的大多数网站都是动态网页,它可以动态解析URL中参数的变化,关联数据库并动态呈现不同的页面内容。

会话和Cookies

HTTP有个特点,叫作无状态,即HTTP协议对事务处理是没有记忆能力的。这意味着如果后续需要处理前面的信息,则必须重传。用于保持HTTP连接状态的技术应运而生,分别为会话和Cookies。会话在服务端,Cookies在客户端。过程如下:

①客户端第一次请求服务器

②服务器返回一个请求头中带有Set-Cookie字段的响应给客户端,告诉客户端设置哪些Cookies信息

③客户端后续请求服务器,会把设置好的Cookies放到请求头一起提交给服务器

④服务器检查该Cookies即可找到对应的会话是什么,然后再判断会话来以此来辨认用户状态

查看cookies:F12打开开发者选项->Application选项卡->Storage->Cookies

代理IP

原理:在本机和服务器之间搭建了一个桥,此时本机不是直接向Web服务器发起请求

作用:突破自身IP访问限制、访问一些单位或团体内部资源、提高访问速度、隐藏真实IP

分类:

(1)根据协议划分:

①FTP代理服务器:主要用于访问FTP服务器,一般有上传、下载以及缓存功能,端口一般为21、2121等。
②HTTP代理服务器:主要用于访问网页,一般有内容过滤和缓存功能,端口一般为80、8080、3128等。
③SSL/TLS代理:主要用于访问加密网站,一般有SSL或TLS加密功能(最高支持128位加密强度),端口一般为443。
④RTSP代理:主要用于访问Real流媒体服务器,一般有缓存功能,端口一般为554。
⑤Telnet代理:主要用于telnet远程控制(黑客入侵计算机时常用于隐藏身份),端口一般为23。
⑥POP3/SMTP代理:主要用于POP3/SMTP方式收发邮件,一般有缓存功能,端口一般为110/25。
⑦SOCKS代理:只是单纯传递数据包,不关心具体协议和用法,所以速度快很多,一般有缓存功能,端口一般为1080。SOCKS代理协议又分为SOCKS4和SOCKS5,前者只支持TCP,而后者支持TCP和UDP,还支持各种身份验证机制、服务器端域名解析等。简单来说,SOCK4能做到的SOCKS5都可以做到,但SOCKS5能做到的SOCK4不一定能做到。

(2)根据匿名程度代理:高度匿名代理、普通匿名代理、透明代理、间谍代理

常见代理设置:

(1)使用网上的免费代理:最好使用高匿代理,另外可用的代理不多,需要在使用前筛选一下可用代理,也可以进一步维护一个代理池。
(2)使用付费代理服务:互联网上存在许多代理商,可以付费使用,质量比免费代理好很多。
(3)ADSL拨号:拨一次号换一次IP,稳定性高,也是一种比较有效的解决方案。

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值