代码改变世界

认知实习培训第三天总结

2019-06-26 21:44  未改秦衣  阅读(271)  评论(0编辑  收藏  举报

       经过前两天的培训,我们已经学了一些python的基础,今天进行了更深入的学习。主要讲了两大部分,分别是爬虫原理跟Requests请求库,我理解起来还是很吃力的。

       首先是爬虫原理,老师先讲了互联网的一些知识跟爬虫程序的运用之类的相关知识。什么是互联网,互联网是由一堆网络设备,把一台台的计算机互联网到一起称之为互联网。之所以要建立互联网,是为了数据的传递以及数据的共享。那么数据又是什么呢,数据多种多样,承载着不同的信息。然后老师又形象的介绍了上网的过程,比如普通用户上网,是打开浏览器 ——> 往目标站点发送请求 ——> 获取响应数据 ——> 渲染到浏览器中这样一个过程,而爬虫程序上网,是模拟浏览器 ——> 往目标站点发送请求 ——> 获取响应数据 ——> 提取有价值的数据 ——> 持久化到数据中这样一个过程。还有我们要知道浏览器发送的是http协议的请求。之后老师又讲了客户端,并且举了例子,如浏览器是一个软件 --> 客户端的 IP 和 端口- 服务端https://www.jd.com/www.jd.com(京东域名)-> DNS解析 -> 京东服务端的 IP 和 端口客户端的ip和端口 ------> 服务端的 IP 和 端口 发送请求可以建立链接获取相应数据。爬虫程序的流程老师也讲了,是如下的结构:

- 发送请求 (需要请求库: Requests请求库、Selenium请求库)
- 获取响应数据 (只要往服务器发送请求,请求通过后会返回响应数据)
- 解析并提取数据(需要解析库: re、BeautifulSoup4、Xpath...)
- 保存到本地 (文件处理、数据库、MongoDB存储库)

       第二部分是Requests请求库,这里的知识有些复杂。安装在这里就不提了。老师先展示了如何爬取视频,然后是抓包分析的知识点,如下:

打开浏览器的开发者模式(检查)----> 选中network
找到访问的页面后缀 xxx.html(响应文本)

1)请求url(访问的网站地址)
2)请求方式:
GET:
直接发送请求获取数据
https://www.cnblogs.com/kermitjam/articles/9692597.html

POST:
需要携带用户信息往目标地址发送请求
https://www.cnblogs.com/login

3) 响应状态码:
2xx: 成功
3xx: 重定向
4xx: 找不到资源
5xx: 服务器错误

4) 请求头信息:
User-Agent: 用户代理(证明是通过电脑设备及浏览器发送的请求)
Cookies: 登录用户真实信息(证明你目标网站的用户)
Referer: 上一次访问的url (证明你是从目标网站跳转过来的)

5)请求体:
POST请求才会有请求体。
Form Data
{
'user': 'tank',
'pwd': '123'
}