爬虫系列之【数据解析之正则】《二》
- IT业界
- 2025-09-17 04:42:02

目录
前言
一、正则基本使用
1.1 导包
1.2 接口方法
1.3 换行匹配问题
二、实战案例
完整代码
前言
在爬虫工作中,我们主要会遇到两种类型的文本数据:
JSON格式数据
HTML文档数据
对于JSON字符串数据,通常使用Python的字典操作进行键值对提取或者使用正则语法; 对于HTML文档,则主要采用XPath表达式和CSS选择器(bs4)进行数据解析和提取。
一、正则基本使用 1.1 导包 import re 1.2 接口方法 re.findall(参数1,参数2)参数1:写正则语法,匹配规则
参数2: 字符串数据
例1:匹配 id 的内容
import re # 1,字符串数据 str = ' <meta id="my name is zhouhuan" http-equiv="Content-Type" content="text/html;charset=utf-8">中国<共??产yes党' # 2,匹配语法 result = re.findall('id="(.*?)" http',str) # 3,打印结果 print(result) .*?:要匹配的内容换成 .*? () :只会返回括号内的内容例2:匹配所有中文
import re # 1,字符串数据 str = ' <meta id="my name is zhouhuan" http-equiv="Content-Type" content="text/html;charset=utf-8">中国<共??产yes党' # 2,匹配所有中文 result = re.findall('[\u4e00-\u9fa5]',str) # 3,打印结果 print(result)例3:过滤和替换非法字符
import re # 1,字符串数据 str = "abc?de|fg><hi:jk" # 2,过滤非法字符 result1 = re.findall('[\\\\/:*?\"<>|]',str) # 3,替换非法字符 result2 = re.sub('[\\\\/:*?\"<>|]',"_",str) # 4,打印结果 print("过滤的非法字符有:",result1) print("替换后的str字符串为:",result2)1.3 换行匹配问题 import re # 1,换行匹配问题 str =''' <div> 中国共产党万岁 </div> ''' # 2,规则默认是在一行匹配,换行后重新匹配,所以匹配到的是空 [] result = re.findall('<div>(.*?)</div>',str) # 打印结果 print(result) # []
解决方案:待定...
二、实战案例
需求:爬取斗鱼直播星秀板块直播的主播《标题》和《网名》
链接(url):星秀直播_星秀视频_斗鱼直播
分析步骤:
1,先抓包找到需要的目标 url
2,先打印一下爬取到的所有数据
完整代码 import re import requests # 实战之爬取斗鱼星秀板块主播标题 # 1,目标url url = ' .douyu /wgapi/ordnc/live/web/room/mixList/2/1008/0/1?' # 2,身份伪装 header={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36" } # 3,发起请求 response = requests.get(url=url,headers=header) # 4,打印响应内容(确认是否获得响应) # print(response.text) # 5,使用正则解析:主播标题 title_list = re.findall('"rn":"(.*?)"',response.text) print(title_list) # 6,使用正则解析:主播名字 name_list = re.findall('"nn":"(.*?)"',response.text) print(name_list) # 7,展示数据:len(title_list) 打印列表的长度 print("主播网名 直播标题") for i in range(len(title_list)): print(name_list[i],":",title_list[i])
爬虫系列之【数据解析之正则】《二》由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“爬虫系列之【数据解析之正则】《二》”