后期课程安排
- 网络爬虫
- linux系统
- 大数据之hadoop
- 机器学习
- 就业指导
今日内容概要
-
获取数据的方式
-
网络爬虫简介
-
网络请求协议
软件开发架构 c/s架构 b/s架构
-
HTML标记语言
浏览器展示出来的花里胡哨的界面 内部都是由HTML搭建骨架
今日详细内容
获取数据的方式
1.公司内部的
2.花钱购买的
3.爬虫爬取的
# 白嫖类
百度指数:https://index.baidu.com/v2/index.html#/
新浪指数:https://data.weibo.com/index
国家数据:http://www.gov.cn/shuju/index.htm
世界银行:https://data.worldbank.org.cn/
纳斯达克:https://www.nasdaq.com/zh/market-activity
联合国:http://data.un.org/
# 付费类
国内
艾瑞咨询:https://www.iresearch.com.cn/
国际
埃森哲:https://www.accenture.com/cn-zh
麦肯锡:https://www.mckinsey.com.cn/
# 第三方平台
数据堂:https://www.datatang.com/
贵阳大数据:http://gbdex.bdgstore.cn/
网络爬虫简介
# 1、什么是互联网?
互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样。
# 2、互联网建立的目的?
互联网的核心价值在于数据的共享/传递:数据是存放于一台台计算机上的,而将计算机互联到一起的目的就是为了能够方便彼此之间的数据共享/传递,否则你只能拿U盘去别人的计算机上拷贝数据了。
'''在互联网中没有绝对的安全'''
#3、什么是上网?
我们所谓的上网便是由用户端计算机发送请求给目标计算机,将目标计算机的数据下载到本地的过程。
# 普通获取网络数据的方式是:
浏览器提交请求->下载网页代码->解析/渲染成页面。
# 爬虫程序要做的就是:
模拟浏览器发送请求->下载网页代码->只提取有用的数据->存放于数据库或文件中
'''什么是爬虫'''
如果我们把互联网比作一张大的蜘蛛网,那一台计算机上的数据便是蜘蛛网上的一个猎物,而爬虫程序就是一只小蜘蛛,沿着蜘蛛网抓取自己想要的猎物/数据
# 4 爬虫的价值:
互联网中最有价值的便是数据,比如天猫商城的商品信息,链家网的租房信息,雪球网的证券投资信息等等,这些数据都代表了各个行业的真金白银,可以说,谁掌握了行业内的第一手数据,谁就成了整个行业的主宰,如果把整个互联网的数据比喻为一座宝藏,那我们的爬虫课程就是来教大家如何来高效地挖掘这些宝藏,掌握了爬虫技能,你就成了所有互联网信息公司幕后的老板,换言之,它们都在免费为你提供有价值的数据
网络请求协议(重要)
HTTP协议
超文本传输协议
规定了浏览器与服务器之间数据交互的方式
1.四大特性
1.基于请求响应
基于HTTP协议对的服务端肯定不会主动给客户端发消息
只能先由客户端发送请求服务端被动的做出响应
2.基于TCP/IP作用于应用层之上的协议
由于没有学习网络编程 可忽略
3.无状态
服务端无法保存客户端状态
# 纵使见他千百遍 犹如第一次见
'''要想保存用户状态需要额外的技术 cookie session token等'''
4.无/短连接
请求响应完毕之后立刻断开连接
2.数据格式
请求格式(客户端超服务端发送数据的格式)
请求首行 # 请求方法 协议版本
请求头 # 一堆k:v键值对(爬虫核心)
# 必须有一个换行
请求体 # post请求携带的敏感数据 get请求没有请求体
响应格式(服务端给客户端发送数据的格式)
响应首行 # 响应状态 协议版本
响应头 # 一堆k:v键值对(爬虫核心)
# 必须有一个换行
响应体 # 一般都是返回给浏览器展示给用户看的数据
3.响应状态码
用简单的数字来标识一句中文意思(暗号)
1XX:数字1开头表示服务端已经成功接收到了数据正在处理 你可以继续提交
2XX:数字2开头最常见就是200 表示请求成功已经返回了响应
3XX:数字3开头统一都表示"重定向"的意思
4XX:403当前请求不符合访问权限 404请求资源不存在
5XX:数字5开头的都表示服务端发生了未知的错误 500内部错误
# 公司中还会自定义响应状态码 一般都是以数字10000开始
参考:聚合数据
"""
请求方式
1.get请求
朝别人索要数据
eg:浏览器地址栏输入网址回车发送get请求索要改网址对应的数据
get请求也可以携带数据
数据携带数据的方式是
网址?xxx=yyy&zzz=uuu&...
数据的大小有限制大概只有2KB~4KB左右
2.post请求
超别人提交数据
eg:登录注册输入用户名密码点击按钮发送post请求给服务端
pots请求携带数据是放在请求体里面的
"""
如何搭建网页
HTML
超文本标记语言
所有的网页都是基于HTML构建出来的 HTML是网页的骨架
# 什么是前端
任何与用户直接交互的界面都可以称之为是前端(小弟)
# 什么是后端
内部真正的逻辑代码 用户接触不到(幕后老板)
# 前端三剑客
HTML 构造网页的骨架
CSS 给骨架添加修饰
JavaScript 添加动态效果
"""
蜡笔小新一丝不挂相当于就是HTML
给蜡笔小新床上裙子 高跟鞋 抹口号变好看了相当于CSS操作
丢给蜡笔小新一根钢管让他跳舞动起来了相当于JS操作
"""
为什么要学习HTML?
浏览器请求过来的数据其实就是一堆HTML代码
而爬虫需要做的就是从HTML代码中筛选出需要的数据
学习HTML的目的就是为了方便后续筛选数据
HTML
用于给浏览器展示于用户看的文件一般都是以.html结尾
语法结构
<标签名称/>
<标签名称></标签名称>
文件结构
<html>
<head>用于浏览器查看的数据</head>
<body>用户展示给用户看的数据</body>
</html>
head内常见标签(了解)
<title></title> 定义网页标题
<style></style> 定义内部样式表
<script></script> 定义JS代码或引入外部JS文件
<link/> 引入外部样式表文件或网站图标
<meta/> 定义网页原信息
body内常见标签(掌握)
# 常见
h1~h6
p
u s i b
br hr
# 符号
<
>
¥
©
®
# 常用
a 链接标签
href参数 放网页的地址点击就可以跳转
img 图片标签
src参数 放图片的地址
可以是本地地址也可以是网络地址
alt参数 当图片加载不出来时展示的提示信息
title参数 鼠标悬浮之后自动展示的信息
div与span
都是前期用来做页面布局的基础标签
尤其是div
"""
div主要是页面结构 区域级别
span只要是文本级别
"""
总结(了解)
标签与标签可以无限嵌套(有前提 暂时忽略)
块儿级标签 div
独占一行的标签
行内标签 span
自身文本多大就占多大
# 块儿级标签可以无限制的嵌套块儿级标签和行内标签标签
p标签除外
作业
1.整理今日笔记
2.默写HTTP协议
3.自己创建html文件将所有的标签写一遍