1. HTTP基本原理:
- URI和URL:URI全称为 UniformResource Identifier,即统一资源标志符,URL的全称为 Universal Resource Locator,即统一资源定位符 。URL是URI的子集,也就是说每个URL都是URI,但不是每个URI 都是URL。 那么,怎样的URI不是 URL呢? URI还包括一个子类叫作URN,它的全称为 Universal Resource Name,即统一资源、名称。UR1叫只命名资源而不指定如何定位资源。
- 超文本:
- HTTP和HTTPS:
- HTTP请求过程:
- 请求:
- 响应:
2. 网页基础
- 网页的组成:
- HTML
- CSS
- JavaScript
- 网页的结构:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> <title>This is a Demo</title> </ head> 5 I 6 <body> 7 <div id=”container”> 8 <div class=、rapper”〉 9 <h2 class=”title”>Hello World</h2> 10 <p class=”text”>Hell口, this i s a paragraph.</p> </div> 11 </div> 12 </ body >
- 节点树及节点间的关系:在 HTML 中,所有标签定义的内容都是节点,它们构成了一个 HTMLDOM树
- 选择器
3. 爬虫的基本原理
- 获取网页:urllib,requests
- 提取信息:beautifulsoup,pyquery,lxml
- 保存数据:mysql,mongodb
- 自动化程序
4. JavaScript渲染页面:使用urllib,requests抓取网页时,HTML代码是空壳,通过JS来负责整个页面的渲染,这时可以用selenium,splash来模拟JS的渲染。
5. 会话和 Cookies
- 静态网页和动态网页
- 无状态 HTTP:指 HTTP 协议对事务处理是没有记忆能力的,也就是说服务器不知道客户端是什么状态 。 当我们向服务器发送请求后,服务器解析此请求,然后返回对应的响应,服务器负责完成这个过程,而且这个过程是完全独立的,服务器不会记录前后状态的变化,也就是缺少状态记录。 这意味着如果后续需要处理前面的信息 ,则必须重传,这导致需要额外传递一些前面的重复请求,才能获取后续响应。两个用于保持 HTTP连接状态的技术就出现了,它们分别是会话和 Cookies。 会话在服务端,也就是网站的服务器,用来保存用户的会话信息; Cookies 在客户端,也可以理解为浏览器端,有了Cookies,浏览器在下次访问网页时会自动附带上它发送给服务器,服务器通过识别 Cookjes并鉴定出是哪个用户,然后再判断用户是否是登录状态,然后返回对应的响应 。
- 会话
- cookies:
- 会话维持:
当客户端第一次请求服务器时,服务器会返回一个请求头中带有 Set-Cookie字段的响应给客户端,用来标记是哪一个用户,客户端浏览器会把 Cookies保 “•存起来 。 当浏览器下一次再请求该网站时,浏览器会把此 Cookies 放到请求头一起提交给服务器,Cookies携带了会话 ID信息,服务器检查该 Cookies 即可找到对应的会话是什么,然后再判断会话来 以此来辨认用户状态 。
- 属性结构:
- 会话 Cookie和持久 Cookie
6.代理
突破自身 IP访问限制,访问 一些平 时不能访问的站点 。
访问一些单位或团体内部资惊 :比如使用教育网内地址段免费代理服务器,就可以用于对教育网开放的各类 FTP下载上传,以及各类资料查询共享等服务。
提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将·其保存到缓 冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度 。
隐藏真实 IP: 上网者也可以通过这种方法隐藏向己的 ip,免受攻击 。 对于爬虫来说,我们用代理就是为了隐藏自身 IP,防止自身的 IP被封锁。
7. 代理分类:
协议来分
- FTP
- HTTP
- SSL/TSL
- RTSP
- Telnet
- POP3/SMTP
- SOCKS