正则与HTML了解
昨日回顾
-
作业讲解
1.python基础知识 2.模块操作 3.mysql数据库 -
视图
将sql语句结果形成的虚拟表保存起来就是视图 create view as... # 不会频繁应用 -
触发器
到达一定条件后触发的条件,增删改 create trigger...insert/undate/delete... -
修改sql语句的结束符
Delimiter # 临时生效 重启会刷新 -
事务(掌握)
四大特性ACID 原子性 一致性 隔离性 持久性 其中最重要的是原子性》》》:要么都成功,要么都别成功 开启 start transaction 回滚 rollback 确认 commit -
存储过程
类似于python中自定义函数 -
内置函数
类似于python中的内置方法 -
流程控制
if判断while循环 -
索引(掌握)
类似于书的目录,用来帮助我们加速查询 在mysql中索引对应的三个键 primary key unique key index key b+树 只有树叶节点存储的才是真正的数据,根节点和只接点是索引 聚集索引 主键 辅助索引 成立primary key的都是 覆盖索引 在查询阶段就已经获得想要的数据 select name from userinfo; 命中索引 在查询的时候使用到了书的目录 select * from userinfo;
今日内容概要
主题:网络爬虫
通过代码去网络上爬取你想要的数据
- 正则表达式
- 前端标签语言之HTMI
今日内容详细
正则表达式前戏
用特殊符号的组合
筛选字符串
# 独立语言(在哪都能用?)
'''
能做什么?
'''
用户输入手机号校验
条件1
条件2
if phone.isdigit():判断是否是纯数字
if len(phone)==11:位数
print()
if phone.startswith('13') or...:开头
print()
else:
print()
else:
print()
else:
print()
# 有点长昂 用正则会短很多
字符组
在'同一个位置'可能出现的各种字符组成一个字符组,在正则表达式中用[]b表示
[0-9]
[a-z]
[A-Z]
一次只获取一个字符匹配
[0-7a-zA-Z] 匹配数字0-9 or 小写字母a-z or 大写字母A-Z
特殊符号
. 匹配除换行符以外的任意字符
\d 匹配数字
^ 匹配字符串的开头
$ 匹配字符串的结尾
a|b |表示"或"
() 没有意义,分组
[^] 取反'非'
量词
# 只能
* 0次或多次
+ 1次或多次
# ? 0次或1次 也是非贪婪匹配
{n} 重复n次
{n,} 重复n次或更多
{n,m} 重复n次到m次
# 默认贪婪匹配
正则表达式练习
参考博客内容:
https://www.cnblogs.com/Dominic-Ji/articles/11109067.html#_label10
海. 海燕海娇海东
'''
. 匹配除换行符以外的任意字符
海燕
海娇
海东
'''
^海. 海燕海娇海东
'''
^ 为条件匹配字段的第一字符符合才可以
海燕
'''
海.$ 海燕海娇海东
'''
$ 匹配符号为$前的条件作为结尾
'''
李.? 李杰和李莲英和李二棍子
'''
? 匹配?前的条件0次或一次(默认贪婪匹配既是一次)
李杰
李莲
李二
'''
李.* 李杰和李莲英和李二棍子
'''
* 0次或多次 贪婪匹配默认为多次
李杰和李莲英和李二棍子
'''
李.+ 李杰和李莲英和李二棍子
'''
+ 一次或者多次 贪婪匹配默认为多次
李杰和李莲英和李二棍子
'''
李.{1,2} 李杰和李莲英和李二棍子
'''
{n,m} 匹配n到m次 贪婪匹配即为2次
李杰和
李莲英
李二棍
'''
字符集[][^](我有点蒙)
'''
[匹配任意字符]
[^匹配除了括号内的任意字符]
'''
李[杰莲英二棍子]* 李杰和李莲英和李二棍子
'''
匹配任意字符,不同结束光标后移继续
李杰
李莲英
李二棍子
'''
李[^和]* 李杰和李莲英和李二棍子
'''
匹配任意字符 遇到^不匹配
李杰
李莲英
李二棍子
'''
[\d] 456bdha3
'''
\d一个数字
4
5
6
3
'''
[\d]+ 456bdha3
'''
456
3
'''
分组()与 或| [^]
^[1-9]\d{13,16}[0-9x]$ 110101198001017032 1101011980010170
'''
以数字1-9开头 ^[1-9]
1
1
中间匹配13至16个数字(贪婪匹配) \d{13,16}
1010119800101703
10101198001017
0到9结尾或者字母x结尾[0-9x]$
2
0
结果
110101198001017032
1101011980010170
'''
^[1-9]\d{14}(\d{2}[0-9x])?$ 1101011980010170 #此处划重点
'''
数字1到9开头 ^[1-9]
1
匹配14个数字 \d{14}
10101198001017
0次或者一次?非贪婪匹配 (\d{2}[0-9x])?
无匹配项
空
False
'''
^([1-9]\d{16}[0-9x]|[1-9]\d{14})$ 110105199812067023
'''
一到9开头 ^([1-9]
1
含有16个数字 \d{16}
1010519981206702
0到9或x结尾 [0-9x]
3
得:110105199812067023
或
1到9开头 [1-9]
1
接14个数字结尾 \d{14}
共15位
false
'''
裂开
贪婪匹配与非贪婪匹配
# 默认的设置就是贪婪匹配
贪婪匹配就是往匹配条件中多的一方倾斜,如
+ 匹配条件会默认多次
# 量词后面加上?
<.+?> 会为贪婪匹配加上限制,当问好后面的条件满足时直接结束匹配
转义符
语句中字母加上\会产生特殊含义影响语句结果,针对\字母特殊含义
1.python中加r取消
2.正则表达式\前加\
\n写为\\n
re模块
python中的正则表达式模块(可以直接使用)
import re
re.findll()
# 匹配符合所有条件的内容并支持分组(括号内的内容)优先展示
re.serch()
# 重要匹配到一个符合条件的就自定结束
re.match()
# 从字符串的开头匹配的开头开始匹配如果不满足后续直接结束
匹配[0-9] 'andnjk124651654' 直接结束
网络请求方法
1.get请求
索要数据
输入baidu.com就是索要百度首页
2.post请求
提交数据
登录信息将数据发给服务端
前端三剑客
HTML
骨架
CSS
调节HTML样式,变得花里胡哨
JAVASCRIPT
用来做动态效果()
HTML
构造网页的基础骨架,我们使用浏览器看到的花里胡哨的页面背后就是有HTML组成的
网页文件的后缀名一般情况下都是.html(一般?)
HTML其实就是一推标签
h3 表示三级标题标签
a 表示链接标签
img 表示图片标签等等...
# 我们用浏览器看到的花里胡哨其实内部都是HTML标签
HTML标签文档结构
<html>
<head>内容不是给人看的,大部分是给浏览器看的</head>
<body>浏览器展示给人看到的内容</body>
</html>
# 最基础的HTML骨架
HTNL标签共分为两类
1.双标签,有头有尾
<body></bady>
2.自闭和标签
<img/>
# 针对双标签内部支持嵌套(既是能够含有其他标签)
HTML注释
<!--注释内容-->
ctrl+?也可以昂
head内常用标签(了解内容)
title 网页标题
link 导入外部css文件
script 导入外部js文件,也可以直接在内部写js代码
style 内部书写css
mete 网页源信息
作业
1.笔记
2.练练正则
3.看看网页

浙公网安备 33010602011771号