一、URI=URL+URN
URI:Uniform Resource Identifier,统一资源标志符
URL:Universal Resource Locator,统一资源定位符
URN:Universal Resource Name,统一资源名称
目前,几乎所有的URI都是URL。
二、超文本
右击--选择“检查”,或者直接按F12。
hypertext:网页源代码HTML,Hyper Text Makeup Language,超文本标记语言。用link标签可引入写好的CSS文件,通过script标签可引入JavaScript文件。
CSS:Cascading Style Sheets,即层叠样式表,是目前唯一的网页页面排版样式标准。
JavaScript:实现了一种实时、动态、交互的页面功能,而不只是用户浏览显示出来的信息。
HTML定义了网页的内容和结构,CSS描述了网页的布局,JavaScript定义了网页的行为。
三、协议
HTTP:Hyper Text Transfer Protocol(超文本传输协议),用于网络传输超文本数据到本地浏览器的传送协议。
HTTPS:Hyper Text Transfer Protocol over Secure Socket Layer,是HTTP的安全版,即HTTP下加入SSL层(通过SSL加密)。
爬取使用了HTTPS协议却被浏览器提示不安全的站点,需要设置忽略证书的选项,否则会提示SSL链接错误。
四、请求过程
Status(Code):响应状态码,200:响应正常,403:禁止访问,404:页面未找到,500:服务器内部发生错误,502:错误网关,503:服务不可用,504:网关超时,505:HTTP版本不支持。
Remote Address:远程服务器的地址和端口。
Request Header:请求头,服务器会根据请求头内的信息判断请求是否合法,进而作出对应的响应。其中的User-Agent:UA,可以使服务器识别客户使用的操作系统及版本、浏览器及版本信息。在爬虫时加上此信息,可以伪装成浏览器。
五、选择器
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>This is a Demo<title>
</head>
<body>
<div id="container">
<div class="wrapper">
<h2 class="title">Hello World</h2>
<p class="text">Hello, this is a paragraph.</p>
</div>
</div>
</body>
</html>
在CSS中,我们使用CSS选择器来定位节点。
1️⃣ 选择div节点的id为container:#container 其中#开头表示选择id,其后紧跟id的名称
2️⃣ 选择class为wrapper的节点:.class 其中.开头表示选择class,其后紧跟class的名称
3️⃣ 选择二级标题:直接用h2即可,即根据标签名筛选
4️⃣ 嵌套选择:#container .wrapper p 代表先选择id为container的节点,再选中其内部的class为wrapper的节点,最后选中其内部的p节点。各选择器之间加上空格便可代表嵌套关系。
选择器 | 例子 | 例子描述 |
---|---|---|
.class | .intro | 选择class=“intro”的所有节点 |
#id | #firstname | 选择id=“firstname”的所有节点 |
* | * | 选择所有节点 |
element | p | 选择所有p节点 |
element,element | div,p | 选择所有div节点和所有p节点 |
六、会话和Cookies
用来保持HTTP连接状态,共同协作
会话在服务端,用来保存用户会话信息。
Cookies在客户端,保存了登录的凭证,一般放在请求头里。
- Name:Cookies名称,一旦创建即无法修改;
- Max Age:正,在**秒之后失效;负,关闭即失效;常与Expires一起使用;
- Secure:默认为false。常用安全协议:HTTPS、SSL。
七、代理
proxy server:伪装IP。
代理协议 | FTP | HTTP | SSL/TLS | RTSP | Telnet | POP3/SMTP | SOCKS |
端口 | 21、2121 | 8080、3128 | 443 | 554 | 23 | 110/25 | 1080 |