Python——re模块

简介

  re是python的正则模块

 

方法

 

  re.complie(str)

    参数:

      str:正则模式

    返回值:pattern

    返回值作用:获取正则对象

    作用:获取正则对象

 

  pattern.findall(content)

    参数:

      content:内容对象

    返回值:list

    返回值意义:获取content内所有匹配pattern的数据,整合成list返回

    作用:获取content内所有匹配pattern的数据,整合成list返回

 

  pattern.finditer(content)

    参数:

      content对象

    返回值:iterator

    返回值作用:获取content内所有匹配对象

    作用:获取content内所有匹配对象

(可以这么想: finditer匹配大列表里所有符合对象) 

 

  pattern.search(content)

    参数:

      content对象

    返回值:匹配对象

    返回值作用:获取content内第一个匹配对象

    作用:获取content内第一个匹配对象

(可以这么想,search获取大列表内第一个匹配对象)

  

  (匹配对象)

  i.group()

    参数:无

    返回值:string

    返回值意义:获取匹配对象的字符串内容

    作用:获取匹配对象的字符串内容

 

  i.group(content)

    参数:

      content,用<标签>标识的标签名

    返回值:string

    返回值意义:获取匹配对象内的分组标签值

    作用:获取匹配对象的分组标签值

 

  for i in iterator:

    i.group():将迭代器内数据作字符串输出

    i.group("键值"):获取迭代器内分组数据值

    i.groupdict():将每次迭代的数据的键值放入字典返回

 

(?P<标签>[\s\S]*?) ======> 用于在匹配对象内标记需要的数据

 

url = "https://zhwsxx.com/"
headers = {
    "user-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
}
params = {

}

response =  requests.get(url=url,headers=headers,params=params)
page_content = response.text

#正则过滤
obj = re.compile('<div class="mh-item">[\s\S]*?<p class="mh-cover " style="background-image: url[(](?P<carUrl>[\s\S]*?)[)]"></p>[\s\S]*?<a href="[\s\S]*?">(?P<carName>[\s\S]*?)</a>[\s\S]*?<p class="chapter">(?P<carDetauk>[\s\S]*?)</p>')
result = obj.finditer(page_content)
for i in result:
    print(i.groupdict())

 

posted @ 2021-10-08 22:00  remix_alone  阅读(75)  评论(0)    收藏  举报