python爬虫基础——数据提取与清洗之正则表达式

复习正则表达式:

python爬虫基础——数据提取与清洗之正则表达式_第1张图片

python爬虫基础——数据提取与清洗之正则表达式_第2张图片

  

python爬虫基础——数据提取与清洗之正则表达式_第3张图片

python爬虫基础——数据提取与清洗之正则表达式_第4张图片python爬虫基础——数据提取与清洗之正则表达式_第5张图片

# ?尽可能少的匹配,在上面的案列中,当匹配到第一个div就结束匹配。?关闭贪婪

 

python爬虫基础——数据提取与清洗之正则表达式_第6张图片

python爬虫基础——数据提取与清洗之正则表达式_第7张图片

python爬虫基础——数据提取与清洗之正则表达式_第8张图片

假设这里有一个HTML文件:




    
    Title


    

我想要提取Emai,创建一个python文件,import re

import re
with open('index.html','r', encoding='utf_8' ) as f:
    html = f.read()
    #print(html)
    #提取Email: kefu @ CSDN.net
    #过滤空
    html = re.sub('\n', '', html)
    #定义提取
    pattern_1 = ''
    #开始提取
    re_1 = re.findall(pattern_1, html)
    #strip()去两边的空,
    print(re_1[0].strip())

匹配一个以字母开头,数字,字母,下划线长度为5-15位的密码

#定义匹配 加r代表防转义
password_pattern = r'^[a-zA-Z][a-zA-Z0-9_]{5,15}$'

password1 = '1234567'
password2 = 'a123456'
password3 = 'a123'
print(re.match(password_pattern, password1))
print(re.match(password_pattern, password2))
print(re.match(password_pattern, password3))

 稍微拓展一下,提取更多的数据,提取商城的分类结构

import  re
with open('static/html/index.html', 'r', encoding='utf-8') as f:
    html = re.sub('\n', '', f.read())
    section_pattern = '
(.*?)
' section_s= re.findall(section_pattern, html) print(section_s) print(len(section_s)) crategory_pattern = '

(.*?)

' # crategory_s = re.findall(crategory_pattern, section_s[0]) #print(crategory_s) course_pattern ='(.*?)' data_s = [] for section in section_s: crategory = re.findall(crategory_pattern, section)[0] course = re.findall(course_pattern, section) print(crategory) data_s.append( { 'crategory':crategory, 'course':course } ) print(data_s) for data in data_s: print(data.get('crategory')) for d in data['course']: print(" "+d)

测试的html




    
    CSDN微课商城
    
    







CSDN微课商城
登录/ 注册 你好: 用户1 注销

第一章 路由与模板

Web原理与框架简介¥75
Django环境搭建与入门案例¥153
基本路由映射与命名空间¥154
正则路由映射参数的传递与接收¥177
反向解析处理器¥161
Request对象与Response对象¥44
上下文与模板调用¥97
模板层基础语法¥105
模板过滤器¥133

第二章 模型类实现

ORM原理与数据库配置¥143
表与字段的定义和常用字段约束¥118
数据迁移与维护¥57
模型类的增删改¥45
模型类的查询方法¥187
QuerySet详解¥197

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(爬虫,python)