今日内容
爬虫的概念
互联网
只要你的计算机能够上网,那么其实所有的计算机彼此是互联的
联网目的
实现数据的彼此传递
什么是上网
通过浏览器发送请求获取相应的数据
(数据肯定是二进制格式)
什么是爬虫
通过代码模拟浏览器发送请求
获取相应的数据并且过滤出自己想要的
存储到数据库中
比喻
如果我们把互联网比作一张大的蜘蛛网,那一台计算机上的数据便是蜘蛛网上的一个猎物,而爬虫程序就是一只小蜘蛛,沿着蜘蛛网抓取自己想要的猎物/数据
价值
互联网中最有价值的便是数据,比如天猫商城的商品信息,链家网的租房信息,雪球网的证券投资信息等等,这些数据都代表了各个行业的真金白银,可以说,谁掌握了行业内的第一手数据,谁就成了整个行业的主宰,如果把整个互联网的数据比喻为一座宝藏,那我们的爬虫课程就是来教大家如何来高效地挖掘这些宝藏,掌握了爬虫技能,你就成了所有互联网信息公司幕后的老板,换言之,它们都在免费为你提供有价值的数据。
注意
由于爬虫是有一点擦边球性质的,不要上面数据都去爬
比如银行的用户信息...
eg:18年的时候在深圳有一家专门做爬虫的公司直接被全体起立请去喝茶了
爬虫流程
1.通过代码模拟浏览器发送请求
2.必须要通过对方的校验才能够获取二进制数据
3.解析二进制数据
4.提取出我们需要的保存到数据库(mongoDB)
"""
cs架构与bs架构
bs本质也是cs架构
"""
一个浏览器可以访问很多服务端
HTTP协议
"""
超本文传输协议
规定了浏览器与服务端之间数据交互的格式
"""
四大特性
1.基于请求响应
2.基于TCP/IP作用于应用层之上的协议
3.无状态
不保存用户状态
4.无连接(短链接)
彼此交互完数据之后再无瓜葛
数据格式
请求格式
请求首行(请求方法 HTTP协议版本)
请求头(一大堆k:v键值对)
请求体(post请求携带的数据会放在请求体里面)
响应格式
响应首行(响应状态码)
响应头(一大堆k:v键值对)
响应体(浏览器展示给用户看的数据)
响应状态码
用简单的数字来表示一串中文意思
1XX:服务端已经接收到了你的请求正在处理,你可以继续提交数据
2XX:服务端成功响应了对应的数据(200 OK)
3XX:重定向(原本想访问A突然跳到了B)
4XX:404请求资源不存在,403请求不符合条件zhuan
5XX:服务器内部错误500
"""
公司还会自己自定义响应状态码
10001 请求超时
10002 链接断开
"""
请求方法
1.get请求
朝别人要数据
eg:
1.浏览器地址栏里面输入www.baidu.com朝百度服务端要百度首页的数据
2.朝别人要数据的时候也可以携带额外的参数,比如获取某个岗位的招聘信息,那么我可以加上一些筛选条件:工作经验、学历...
get请求携带数据是直接放在url的后面
url?username=jason&password=123
get请求只能携带不敏感的信息,并且大小有限制
"""
url统一资源定位符 你可以直接理解为是网址
"""
2.post请求
朝别人提交数据
eg:
1.用户注册登录
将用户名和密码提交给服务端
post请求携带的数据都是放在请求体里面的
为什么要学习HTTP协议
因为爬虫是模拟浏览器朝服务端发送请求
而浏览器与服务端之间数据交互要遵循HTTP协议
所以我们写爬虫程序也得按照HTTP协议规范来写
前端之HTML
浏览器之所以能够展示出华丽花哨的界面
那是因为服务端返回给浏览器的都是HTML文件
HTML是构建网页的骨架,如果你想让你的服务端能够被浏览器正常的访问并且展示内容,你必须用HTML来书写网页
简介
超文本标记语言,是用来构造网页骨架的
虽然HTML很丑 但是浏览器会自动帮你按照一定的语法规则渲染成好看的界面
为什么要学习前端的HTML
因为朝服务端要数据 本质其实就是服务端给了一堆HTML代码
而我们需要从HTML代码中筛选出我们需要的数据
前端三剑客
HTML
构造网页的骨架
CSS
用来给HTML调节样式
JavaScript(JS)
用来生成页面的动态效果
HTML
文档结构
<html>
<head>
放的基本都不是给人看的信息
</head>
<body>
放的都是浏览器会直接展示给用户看的
</body>
</html>
head内常见标签
title
定义网页标题
script
可以引入外部js文件
也可以直接在该标签内部书写js代码
link
引入外部css文件
style
在内部可以直接书写css代码
body内常见标签
h1~h6 标题标签(一级标题到六级标题)
a 链接标签(点击即可跳转到对应的链接地址)
img 图片标签(展示图片)
div 页面布局(div用来划定区域)
span 文本标签(普通文本)
form表单
能够获取用户数据并且发送给后端
action
控制数据提交给哪个后端
method
控制请求方式 默认是get请求
如何利用谷歌浏览器快速开发
1.右键点击检查
参考课上视频讲解