爬虫的re模板看法

284阅读 · 0评论 · 2020/04/11发布   前往评论

前言

  该文章主要提供交流学习使用,请勿利用其进行不当行为!

  如本篇文章侵犯了贵公司的隐私,请联系我立刻删除!

  如因滥用解密技术而产生的风险与本人无关!

爬虫的re模块

  正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

  而re模块就是调用正则表达式对所需要的内容进行提取的一种方法,或者在django可用于对密码等形式的认证,用处很大,但容易出错,需要大家多多练习。

  这里给大家放一下正则表达式表格,以便大家学习。

正则

关于re的模块使用

import re
#re.findall()可以获取字符串中所有匹配的字符串。
# 查看源码可在 def findall(pattern, string, flags=0):
#代表着第一个参数为正则表达式,第二个参数是搜索的那些字符串,第三个参数是匹配的模式。
#获取非重复的匹配列表;如果有一个组则以列表形式返回,且每一个匹配均是字符串;如果模型中有多个组,则以列表形式返回,且每一个匹配   是元祖;空的匹配也会包含在结果中
res = re.findall("\d","he11o wor1d") #我把其中l换成了1
print(res) 
#返回的是['1', '1', '1'] ,我们这样可以清楚地看到关于所选摘取的结果。
#匹配模式有:
#re.I或re.IGNORECASE:忽略大小写
#re.L或re.LOCALE:使用当地locale。(python中有个locale模块,locale代表不同的语言,地区和字符集)
#re.U或re.UNICODE:使用unicode的locale
#re.M或re.MULTILINE:使用^或$时会匹配每一行的行首或行尾
#re.S或re.DOTALL:使用.时能匹配换行符
#re.X或re.VERBOX:忽略空白字符,而且可以加入注释

#re.search()的参数与findall类似不过search是函数会在字符串内查找模式匹配,只到找到第一个匹配然后返回,如果字符串没有匹配,则返回None。
并搭配group使用来匹配需要的值

#re.compile()通过正则表达式封装到了compile()函数中,起到一个预编译的作用。来搭配findall使用。这里就不举例说明了。

今天说的这里。我前面说的这些,只是帮助大家了解关于爬虫的re用法,希望大家能够通过练习多多掌握,我就不一一举例子说明了。 下期为大家讲一下爬虫的request用法!!!




本文作者: 天行者
发布时间: 2020年04月11日 - 11:01
最后更新: 2020年04月15日 - 23:50
转载请保留原文链接及作者


登录 后回复

共有0条评论