dede做手机网站,做网站云主机,名片在哪个网站做,西安工程造价信息网目录
前言
一、正则基本使用
1.1 导包
1.2 接口方法
1.3 换行匹配问题
二、实战案例
完整代码 前言 在爬虫工作中#xff0c;我们主要会遇到两种类型的文本数据#xff1a; JSON格式数据 HTML文档数据 对于JSON字符串数据#xff0c;通常使用Python的字典操作进行键…目录
前言
一、正则基本使用
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 idmy name is zhouhuan http-equivContent-Type contenttext/html;charsetutf-8中国共??产yes党
# 2,匹配语法
result re.findall(id(.*?) http,str)
# 3,打印结果
print(result) .*?要匹配的内容换成 .*?
() 只会返回括号内的内容 例2匹配所有中文
import re
# 1,字符串数据
str meta idmy name is zhouhuan http-equivContent-Type contenttext/html;charsetutf-8中国共??产yes党
# 2,匹配所有中文
result re.findall([\u4e00-\u9fa5],str)
# 3,打印结果
print(result) 例3过滤和替换非法字符
import re
# 1,字符串数据
str abc?de|fghi: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 https://www.douyu.com/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(urlurl,headersheader)
# 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])