栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python爬虫正则表达式_爬虫正则表达式语法?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python爬虫正则表达式_爬虫正则表达式语法?

一直感觉正则表达式挺难得,今日学习果然不同凡响,是真的难理解,不过重要的是学习一些简单提取数据的元字符就够用了,常用的什么身份证,Email,手机号码正则表达式都不用我们自己下手写,其实都可以Copy;

都有很多的在线正则表达式测试,比如菜鸟教程里面,OSCHINA里面的在线工具等;

都可以很好的帮助我们去写一些测试,多理解多动手敲一下就OK了~

最最主要的就是爬虫中对于网页标签内容和标签属性的抓取,就需要咱们的惰性匹配,一定要去理解和实践一些。

下面就是我学习的聚焦爬虫过程中数据解析的第一类:正则;

最好把代码放到编辑器里面去浏览,效果会好一些,推荐VS Code。

#? 通用爬虫 聚焦爬虫 增量式爬虫
#? 聚焦爬虫:爬取页面中指定的页面内容 满足75%以上的需求
'''
    编码流程:
    (1)指定URL
    (2)发起请求
    (3)获取响应数据
    (4)数据解析
    (5)持久化存储
'''
#? 数据解析分类: 正则 bs4 xpath(重点学习,通用性比较强)
#* 数据解析原理
'''
    解析的局部的文本内容都会存储在标签之间或者标签中的属性值
    (1) 进行执行标签的定位
    (2) 标签或者标签对应的属性中存储的数据值进行提取(解析)
'''
#? 正则表达式
'''
    元字符
    (1)  . 匹配除换行符意外的任意字符
    (2) w 匹配字母或数字或下划线
    (3) s 匹配任意的空白符
    (4) d 匹配数字
    (5) n 匹配一个换行符
    (6) t 匹配一个制表符
    (7) ^ 匹配字符串的开始
    (8) $ 匹配字符串的结尾

    (9)  W 匹配非字母或数字或下划线
    (10) S 匹配非空白符
    (11) D 匹配非数字   (9)

    (12) a|b 匹配字符a或者字符b
    (13) () 匹配括号内的表达式,也表示一个组
    (14) [...] 匹配字符组中的字符
    (15) [^...] 匹配除了字符组中字符的所有字符

    量词
    #? 比如 d{11}
    * 重复零次或者更多次 {0,正无穷}
    + 重复一次或者更多次 {1,正无穷}
    ? 重复0次或者一次 {0,1}
    {n} 重复n次
    {n,} 重复n次或者更多次
    {n,m} 重复n到m次

    #! 贪婪匹配和惰性匹配
    (1) .* 贪婪匹配  匹配所有
    (2) .*? 惰性匹配 匹配少的,较短的
        #! 爬虫用的最多的就是惰性匹配
        #! 玩儿吃鸡游戏,晚上一起玩游戏,玩游戏吗?
        #? 玩儿.*游戏 -- 匹配结果是 :玩儿吃鸡游戏,晚上一起玩游戏,玩游戏
        #? 玩儿.*?游戏 -- 匹配结果是:玩儿吃鸡游戏
        #? 玩.*?游戏 -- 匹配结果是 玩儿吃鸡游戏 玩游戏 玩游戏

        #! 匹配标签的内容 周杰伦林俊杰
        #? .* -- 匹配结果是
                #! 周杰伦林俊杰
        #? .*? -- 匹配结果是
                #! 周杰伦
        #? .*? -- 匹配结果是
                #! 周杰伦林俊杰
        #? .*?
                #! 周杰伦
                #! 林俊杰
'''

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/786969.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号