1.正则表达式
2. re模块使用案例
例:提取 index.html 里的Eamil和手机号
# 导入re模块
import re
with open('index.html','r',encoding='utf-8') as f: # 读取index文件
html = f.read() # 返回读取文件
# re.sub('正则表达式','替换成的字符串','被匹配的字符串')
html = re.sub('n','',html)
print(html)
pattern_1 = '(.*?)' # 正则表达式提取字符串
# re.findall('正则表达式','被提取的字符串')
ret_1 = re.findall(pattern_1,html)
print(ret_1[0].strip()) # strip() 清除空格和换行符
# re.match('正则表达式','被匹配的字符串')
password_pattern = r'^[a-zA-Z][a-zA-Z0-9_]{5,15}$'
pass1 = '1356'
pass2 = 't23456'
pass3 = 'k135'
print(re.match(password_pattern,pass1))
print(re.match(password_pattern,pass2))
print(re.match(password_pattern,pass3))
3.xpath 语法
工具:
xpath 两种查询方式:
一://div[contains(@class,"关键字")]/a/text() 二://div[@]/a/text()
4.python中的lxml
python中如何使用xpath:
# 导包
import lxml.etree as le
with open('提取的文件','r',encoding='utf-8') as f:
html = f.read() # 提取文件内容
htmll_x = le.HTML(html) # 把字符串转化成xpath对象
html_x_s = html_x.xpath('xpath代码') # 对xpath_x写xpth语法
print(html_x_s)
5.JsonPath 使用案例
常用的的四个命令:dumps loads dump load
# 导入json
import json
python_data[
{
'username':'name1'
'vip':'False'
},
{
'username':'None'
'vip':'True'
}
]
# dump 把python类型的字符串转换成json类型的字符串、
json_data = json.dumps(python_data)
print(json_datta)
# lodas 把json类型的字符换转换成python类型的字符串
python2_data = json.lodas(python_data)
print(python2_data)
# dump 把python类型的字符串转换成Json类型的字符串,保存在本地
python_dump = json.dump(python_data,open('json.txt','w'))
# loda 读取本地的json数据,并转换成python对象
pytho2_data = json.load(open('json.txt'))
print(python2_data)



