正则与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.看看网页
posted @ 2021-01-12 23:46  KaiLun  阅读(106)  评论(0)    收藏  举报