正则表达式

在这里插入图片描述

正则语法

在这里插入图片描述

特殊序列

在这里插入图片描述

正则处理函数

在这里插入图片描述

案例1

import re

s = 'Istudy study Python3.8 every day'
print('----------------match方法,从起始位置开始匹配------------')
print(re.match('I', s).group())
print(re.match('\w', s).group())
print(re.match('.', s).group())

print('---------------search方法,从任意位置开始匹配,匹配第一个---------------')
print(re.search('study', s).group())
print(re.search('s\w', s).group())

print('---------------findall方法,从任意位置开始匹配,匹配多个-----------------')
print(re.findall('y', s))  # 结果为列表
print(re.findall('Python', s))
print(re.findall('P\w+.\d', s))
print(re.findall('P.+\d', s))

print('--------------sub方法的使用,替换功能-------------------------')
print(re.sub('study', 'like', s))
print(re.sub('s\w+', 'like', s))
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

案例2

下载视频

import requests
import re

url = 'https://www.qiushibaike.com/video/'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36'}
resp = requests.get(url, headers=headers)
# print(resp.text)
info = re.findall('', resp.text)
# print(info)
lst = []
for item in info:
    lst.append('https:' + item)
# print(lst)

count = 0
for item in lst:
    count += 1
    resp = requests.get(item, headers=headers)
    with open('video/' + str(count) + '.mp4', 'wb') as file:
        file.write(resp.content)
print('视频下载完毕')
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

pyquery解析数据

初始化方式

使用方式

在这里插入图片描述

案例

import requests
from pyquery import PyQuery

url = 'https://www.qidian.com/rank/yuepiao'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36'}
resp = requests.get(url, headers=headers)
# print(resp.text)
# 初始化PyQuery对象
doc = PyQuery(resp.text)  # 使用字符串初始化方式初始化PyQuery对象
# a_tag=doc('h4 a.txt')
# print(a_tag)
names = [a.text for a in doc('h4 a.txt')]

authors = doc('p.author a.txt')

author_lst = []
for index in range(len(authors)):
    if index % 2 == 0:
        author_lst.append(authors[index].text)
# print(author_lst)


# print(names)

for name, author in zip(names, author_lst):
    print(name, ':', author)
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
注:本文转载自blog.csdn.net的PlutoZuo的文章"https://blog.csdn.net/PlutoZuo/article/details/134324688"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接

评论记录:

未查询到任何数据!