zoukankan      html  css  js  c++  java
  • re 正则表达式 爬取网站标题

    import requests
    import re
    
    url = 'http://www.jd.com/'
    #url='http://www.eastmoney.com/' r=requests.get(url) r.encoding='utf-8' data=re.findall('<title>(.*?)</title>',r.text,re.S) print(data)

    ['京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!']

    ['东方财富网:财经门户,提供专业的财经、股票、行情、证券、基金、理财、银行、保险、信托、期货、黄金、股吧、博客等各类财经资讯及数据']

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    import re
     
    # 提取python
    key = "javapythonc++php"
    re.findall("python", key)[0]
    """
    python
    """
     
    # 提取出hello world
    key = "<html><h1>hello world</h1></html>"
    re.findall('<h1>hello world</h1>', key)
    """
    ['<h1>hello world</h1>']
    """
     
    # 提取170
    string = "我喜欢身高为170的女孩"
    # re.findall("170", string)[0]
    re.findall('d+', string)
    """
    ['170']
    """
     
    # 提取出http://和https://
    key = 'http://www.baidu.com and https://boob.com'
    re.findall('https{0,1}', key)   # {}前的字符出现0次或1次
    """
    ['http', 'https']
    """
     
    # 提取出hit.
    key = "bobo@hit.edu.com"
    re.findall("h.*.", key)   # .表示任意字符( 除外);*表示匹配0个或多个;表示对.转义
    """
    ['hit.edu.']
    """
    # 贪婪模式:根据正则表达式尽可能多地提取数据。
    # 切换为非贪婪模式,加一个"?"
    re.findall("h.*?.", key)
    """
    ['hit.']
    """
     
    # 匹配sas和saas
    key = "saas and sas and saaas"
    re.findall('sa{1,2}s', key)    # 匹配1-2次由前面表达式定义的片段
    """
    ['saas', 'sas']
    """
     
    # 匹配i开头的行  re.S:基于单行匹配    re.M:基于多行匹配
    string = '''fall in love with you
    i love you very much
    i love she
    i love her'''
    re.findall("^i.*", string, re.M)
    """
    ['i love you very much', 'i love she', 'i love her']
    """
     
    # 匹配所有的行
    string = """<div>静夜思
    床前明月光
    疑是地上霜
    举头望明月
    低头思故乡
    </div>"""
    re.findall('<div>.*</div>', string, re.S)
    """
    ['<div>静夜思 床前明月光 疑是地上霜 举头望明月 低头思故乡 </div>']
    """

     

  • 相关阅读:
    CentOS搭建nginx环境
    Gitment评论插件的使用
    GitPages部署自己的网站
    ubuntu防火墙规则之ufw
    鸟哥的Linux私房菜笔记第六章(二)
    一次使用InfluxDB数据库的总结
    网站实现markdown功能
    鸟哥的Linux私房菜笔记第六章(一)
    Flutter学习笔记(21)--TextField文本框组件和Card卡片组件
    Flutter学习笔记(20)--FloatingActionButton、PopupMenuButton、SimpleDialog、AlertDialog、SnackBar
  • 原文地址:https://www.cnblogs.com/adam012019/p/12327129.html
Copyright © 2011-2022 走看看