目录
json补充
取消中文转义
ensuer_ascii = False
正则匹配
直接匹配字符直接填写需要匹配的字符
字符组
[0123456789] # 匹配数字字符默认挨个或匹配
[0-9] # 缩写匹配数字字符默认挨个或匹配
[A-Z] # 缩写大写匹配字符默认挨个或匹配
[a-z] # 缩写小写匹配字符默认挨个或匹配
[0-9a-zA-z] # 可以写在一起默认挨个或匹配
特殊符号
# 默认都是匹配多次
. 匹配除换行符以外的任意字符
\w 匹配数字字母下划线
\W 取反\w
\d 匹配数字
\D 取反\d
\s 匹配任意空白符
\S 取反\s
\n 换行符
\t 制表符
\b 匹配以单词结尾
^ 匹配以什么为开头
$ 匹配以什么为结尾
^与$ 可以精确匹配
a|b 匹配a或b
[] # 匹配括号内的挨个或匹配
[^] # 匹配除了括号内的
() # 分组匹配
量词
* 1次或多次 默认匹配多次
+ 0次或多次 默认匹配多次
? 0次或1次 默认匹配多次
{n} # 匹配n次
{n,} # 匹配n次,到多次
{n,m} # 匹配n次,到m次 默认匹配m次
# 量词不能单独使用
贪婪匹配与非贪婪匹配
默认贪婪匹配
取消贪婪匹配
加?
转义符
\会与某些英文字母产生特殊含义
\n 匹配换行符
\\n 取消转义匹配\n
如果想取消所有转义需要每个\都加\\
\\\\n 匹配\\n
re模块正则模块
import re
res = re.findall("匹配字符",待匹配字符串) # 匹配所有
res = re.search("匹配字符",待匹配字符串) # 匹配一次
res = re.match("匹配字符",待匹配字符串) # 从开头匹配,一次
res = re.group() # 取search 与match返回数据
res = re.split('匹配分隔字符串',待匹配字符串) # 以匹配到字符为分割符,分隔
res = re.sub("匹配分隔字符串",'替换字符',待匹配字符串)
# 把匹配到的字符,替换成指定字符
res = re.subn("匹配分隔字符串",'替换字符',待匹配字符串)
# 把匹配到的字符,替换成指定字符,返回替换后的字符,与匹配的次数
分组优先
re.findall('匹配字符(匹配字符)',待匹配字符串) # 匹配后默认返回匹配到括号内的字符,
取消分组优先
re.findall('匹配字符(?:匹配字符)',待匹配字符串) # 匹配后返回匹配到所有字符
分组别名
res = re.findall('匹配字符(?P<分组名称>匹配字符)',待匹配字符串)
# 匹配后可以按照索引取
res.group(0)
# 也可以按照别名取
res.group('分组别名')
网络爬虫
第三方模块
第三方模块就是其他大佬写的一些,强大实用的功能,方便我们使用
第一次使用第三方模块需要先下载才能使用,后续在使用,就跟内置模块的使用一致
第三方模块的下载安装
第一种pip安装
在使用pip工具时要注意,你的电脑内,是否安装有多个版本的python解释器,如果没有者可正常使用,如果有则需要区分pip工具了,因为每个python3解释器都内置有一个pip工,不要搞混淆了,下载别处导致无法使用,使用时可以在系统环境变量中添加对应版本
pip install 模块名
pip install 模块名 -i 仓库地址
pip install 模块名=版本号 -i 仓库地址
第二种如果使用pycharm编辑器,则可以直接在pycharm模块下载界面,下载安装即可
第三方模块下载中可能会出现的问题
1.报错,报错信息是黄色的
一般是提示pip工具版本太低,提示升级,升级代码,在报错信息后面,复制粘贴使用即可
2.报错并含有timeout关键字
说明当前网络不稳定,切换网络,或者多试几次安装。
3.报错并且没有关键字
面向百度搜索
4.下载缓慢
pip工具默认仓库是国外的python.org
可以切换到国内仓库在命令台中直接使用 -i 仓库地址 临时使用
requests模块
requests模块能够模拟浏览器发送网络请求
import requests
res = requests.get('网络地址')
res.content 获取二进制网页数据
res.encoding = 编码 # 可以指定需要解码的数据
res.text 获取以utf-8解码后的数据
excel
-
excel文件后缀问题
-
03版之前
xls
-
03版之后
xlsx
-
-
操作excel的模块
-
xlwt往表格中写数据,xlrd从表格中读数据
可以兼容任何版本 -
openpyxl最近几年比较火的操作excel模块
03版之前兼容比较查
-
还有很多操作excel的模块 甚至涵盖了上述模块pandas模块,也是一个强大的模块
-
from openpyxl import workbook
wb = worlbook.WorkBook()
sheet = wb.creat_sheet('工作蒲名称',索引有无都可)
sheet.appen('数据可以是列表')
wb.save(文件路径)
加密模块
-
何为加密
把明文数据处理成,让人无法看懂的密文数据 -
为什么加密
防止数据泄露别人可以一眼知道你的密码
-
如何判断数据是否加密
一串没有规律的字符串(数字,字母,组合) -
密文的长度有何研究
密文越长代表加密算法越复杂,效率低一点,越不容易被破解
-
常见的算法
md5 base64 hmac sha系列
加密算法基本操作
import hashlib
# 只要密文加密算法不变,每次加密后的结果都一致
md5s = hashlib.md5()
md5s.update(二进制数据)
md5s.hexdigest()
日志
-
日志可以理解为就是记录行为举止的操作类似于历史史官
-
日志的五种模式
- debug
- info
- warning
- error
- critical
-
日志的组成
日志的产出
日志的过滤
输出日志
格式化日志
终端模拟
subprocess模块模拟终端,可以执行终端命令,并返回结果
标签:10,匹配,第三次,字符,res,默认,re,模块,周报 From: https://www.cnblogs.com/clever-cat/p/16841734.html