- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
re模块的修饰符大数据采集技术与应用
1.掌握re模块修饰符功能和使用方法
re模块修饰符修饰符(Flags)是re模块中的可选参数,用于改变正则表达式的默认匹配行为。它们使得简单的模式能够处理复杂的文本情况,特别是在处理跨行、多语言或大小写不敏感的数据时至关重要。符号描述应用场景re.I使整个正则表达式在匹配时忽略字符的大小写差异。在爬虫中,用于匹配HTML标签(如HTML,html),或者进行关键词搜索(如Copyright,COPYRIGHT,copyright),避免因大小写不一致而漏掉匹配。re.S改变特殊字符.的默认行为。使用re.S后,\.将匹配包括换行符在内的任何字符。爬虫最常用修饰符之一。用于提取script标签或大型HTML注释块等跨越多行的文本内容。如果缺少此修饰符,跨行匹配将失败。re.M改变行首^和行尾$的默认行为。使用re.M后,^和$将匹配每一行内容的开始和结束。用于处理日志文件、配置文件等由多行记录组成的文本。例如,批量提取每行记录开头的IP地址或时间戳。re.X允许在正则表达式中添加空格和注释。匹配引擎将忽略模式字符串中的未转义空格和#及其后的内容。极大地提高了复杂正则表达式的可读性和维护性,尤其适用于需要精确匹配复杂结构(如URL、复杂日期、Email)的场景。
re模块修饰符footer_text_1=AllcontentiscOpYright2024.Allrightsreserved.
#规则解释:匹配copyright关键词,不区分大小写
pattern_1=rcopyright
match_1=re.search(pattern_1,footer_text_1,re.I)
ifmatch_1:
print(f原始文本:{footer_text_1})
print(f匹配结果:成功找到关键词{match_1.group(0)})
else:
print(未找到匹配项。)案例1:忽略大小写匹配输出:原始文本:AllcontentiscOpYright2024.Allrightsreserved.匹配结果:成功找到关键词cOpYright
re模块修饰符multi_line_data=
scriptdata-id=config
{
user:crawler_user,
data:Alongstring\nthatspansmultiplelines.
}
/script
#规则解释:匹配script和/script之间的所有内容。
#使用re.S使.匹配包括换行符在内的所有字符。
pattern_2=rscriptdata-id=config(.*?)/script
match_2=re.search(pattern_2,multi_line_data,re.S)
ifmatch_2:
print(已成功提取跨行的数据块(JSON或配置数据)。)
#提取并清理内容
content=match_2.group(1).strip()
print(f提取内容预览:{content[:30]}...)
案例2:匹配跨越多行的数据输出:已成功提取跨行的数据块(JSON或配置数据)。提取内容预览:{user:crawler_user,...
re模块修饰符log_text_3=10.0.0.1-RequestA\n203.0.113.4-RequestB\n\n192.168.1.1-RequestC#规则解释:匹配行首(^)后紧跟的IP地址。pattern_3=r^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#使用re.M修饰符使^匹配每行的开头matches_3=re.findall(pattern_3,log_text_3,re.M)print(原始日志行数:4行(含一个空行))print(f提取的行首IP地址列表:{matches_3})案例3:匹配每行起始点输出:原始日志行数:4行(含一个空行)提取的行首IP地址列表:[10.0.0.1,203.0.113.4,192.168.1.1]
re模块修饰符metadata_text_4=PublishDate:2025-10-25.
#规则解释:匹配YYYY-MM-DD格式的日期,使用re.X提高可读性。
pattern_4=r
您可能关注的文档
- raise异常类名创建异常类的实例对象并引发异常raise异常类实例对象引发异常类实例对象对应的异常raise重新引发刚发生的异常96课件讲解.pptx
- ReadingAdvertizements英语泛读教程62课件讲解.pptx
- ReadingInstructions英语泛读教程97课件讲解.pptx
- ReadingScholarlyWriting英语泛读教程50课件讲解.pptx
- ReadingtheAdministrativeLanguage英语泛读教程97课件讲解.pptx
- ReadingtheFeatureStoryinaNewspaper英语泛读教程44课件讲解.pptx
- ReadingTheNewsStory英语泛读教程15课件讲解.pptx
- Redis部署与配置耿亚宁35课件讲解.pptx
- Requests模块32课件讲解.pptx
- Request定制请求头大数据采集技术与应用95课件讲解.pptx
- 2025年医美器械技术创新与临床应用技术发展趋势.docx
- 2025年医美器械技术创新与临床应用技术商业化分析.docx
- 基于边缘节点部署需求的轻量型少样本模型压缩框架.pdf
- 基于贝叶斯网络的联邦学习模型可解释性方法及其安全协议设计.pdf
- 基于端到端声学建模的语音语义联合理解与文本生成一体化架构设计.pdf
- 基于多模态融合的短视频平台用户兴趣挖掘与个性化推荐系统.pdf
- 2025年医美器械技术创新与临床应用技术商业化报告.docx
- 2025年医美器械技术创新与临床应用技术投资策略.docx
- 2025年医美器械技术创新与临床应用技术突破报告.docx
- 基于量子安全通信协议的联邦学习在金融行业的实验平台搭建.pdf
原创力文档


文档评论(0)