网络爬虫
- HTML超文本标记语言
- HTTP协议
- 简单的网络请求
- python模块模拟浏览器发送请求
- 爬虫小案例
爬虫简介
我们一般情况
都是通过浏览器正常访问服务端获取资源浏览器展示给用户看
爬虫
模拟浏览器发送请求 获取网页源数据 内部自动解析处理(目标数据) 存放于数据库中
好不夸张的概括一下
互联网就像是蜘蛛网,而爬虫就像是网上的蜘蛛
理论情况下只要给我们一个落脚点,我们就可以顺着互联网将互联网上面的所有的数据全部爬取下来
爬虫的价值
可以用最小的代价换取最丰厚的资源
请求方式
"""
URL:统一资源定位符(网址)
"""
1.get请求
get请求就类似于朝别人要数据
eg:浏览器地址栏输入网址回车朝该地址要数据
get请求携带数据的方式非常的具有特点,只能跟在网址的后面
url?username=jason&password=123
get请求携带的参数只能是不敏感的数据,并且get请求携带的数据大小有限制
最多好像不超过4KB左右
2.post请求
post请求就类似于你朝别人提交数据
eg:用户登录要将你的用户名和密码发送给后端去数据库校验
post请求携带数据的方式是比较隐蔽的,是放在请求体里面的
数据相对来说比较安全,并且数据量较大
HTTP协议
超文本传输协议
规定了浏览器与服务端之间数据交互的格式
1.请求数据的格式
请求首行(请求方式 协议版本(HTTP/1.1) URL)
请求头(一堆key:value键值对)
请求体(post请求携带的数据)
2.响应数据的格式
响应首行(协议版本 状态码 描述)
响应头(一堆key:value键值对)
响应体(展示给用户看的页面)
3.响应状态码
用简单的数字来描述一串中文意思
1XX:服务端已经接收到了你的数据正在处理,你可以继续提交数据
2XX:请求已经响应成功 已经返回了想要的数据(200 OK)
3XX:重定向(原本想访问A页面但是莫名的跳转到了B页面)
4XX:请求错误(404请求资源不存在,403请求不符合条件)
5XX:服务器内部错误(代码出现bug了,机房着火了,服务器断电了...500)
HTML超文本标记语言
是构造网页的骨架
HTML的注释
<!--注释-->
学习HTML的时候所见即所得
包含HTML标签代码的文件后缀名都是.html结尾
如果一个文件的后缀名是.html结尾,那么说明该文件需要用浏览器打开
前端三剑客
1.HTML
构造网页的骨架
2.CSS
给骨架添加样式
3.JS
给骨架添加动态效果
文档结构
<html>
<head></head>
<body></body>
</html>
head内填入的内容基本都不是给人看的而是给浏览器看的
body内填入的内容就是展示给用户看的内容
HTML标签分类
1.双标签
<head></head>
2.自闭和标签
<img/>
head内常用标签(了解)
title 控制网页的标题
style 标签内部可以书写控制HTML样式的css代码
link 通过href属性可以引入外部css文件
script
1、标签内部可以直接书写js代码
2、通过src属性可以引入外部js文件
<meta name="keywords" content="meta总结,html meta,meta属性,meta跳转">
<meta name="description" content="老男孩教育Python学院">
body内常用标签
h1系列(h1~h6) 标题标签
p 段落标签
<s>删除</s>
<b>加粗</b>
<u>下划线</u>
<i>斜体</i>
<br> 换行
<hr> 分割线
标签分类
1.块儿级标签 h p br hr
独占一行
2.行内标签 s b u i
自身文本多大就占多大
常用符号
空格
<p> a > b </p>
<p> a < b </p>
<p> a & b</p>
<p> ¥99999999 </p>
<p> 版权© </p>
<p> 商标® </p>
布局标签
div
块儿级标签
span
行内标签
# div和span多用于页面的前期布局 用div先划定区域之后往区域内填充相应的内容即可
标签的嵌套
1.块儿级标签可以嵌套块儿级标签和行内标签 div
2.行内标签只能嵌套行内标签 span
3.p标签虽然是块儿级标签但是它只能嵌套行内标签
"""
因为前段页面是需要直接展示给用户看的,所以前段页面不会轻易的报错
哪怕你写的语法不规范也会最大努力的帮你去调整
"""
常见标签
<img src="111.jpg" alt="这是个妹纸" title="这是前女友">
src既可以放本地图片地址也可以放远程图片地址
alt当图片加载不出来的时候自动的提示
title鼠标悬浮在图片上之后自动的提示
height
width
如果你只指定一个另外一个会等比例缩放
同时指定的时候可能会导致图片失真
<a href="https://www.sogo.com" target="_self">点我有你好看~</a>
<a href="https://www.sogo.com" target="_blank">点我有你好看~</a>
target参数
默认在当前页面跳转
_blank新建页面跳转
列表标签
<ul>无序列表
<li>111</li>
<li>222</li>
<li>333</li>
</ul>
# 虽然本身很丑 但是调节完样式之后会非常的好看(只要是有规则的横向或者竖向排列基本上使用的都是无序列表)
<ol type="I"> # type用来控制顺序到底是按照什么来
<li>111</li>
<li>222</li>
<li>333</li>
</ol>
<dl> # 标题列表
<dt>标题1</dt>
<dd>内容1</dd>
<dt>标题2</dt>
<dd>内容1</dd>
<dd>内容2</dd>
</dl>
表格标签
# 应用场景就是用来展示多个数据的
先写结构
<table>
<thead></thead>
<tbody></tbody>
</table>
<table border="1"> # 如果想加一个表格先就用border
<thead>
<tr> #一个tr就表示一行
<th>ID</th> # th加粗
<th>用户名</th>
<th>年龄</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td> # td普通文本
<td>jason</td>
<td>18</td>
<td>
<a href="">编辑</a>
<a href="">删除</a>
</td>
</tr>
</tbody>
</table>