suchen

Heim  >  Fragen und Antworten  >  Hauptteil

python - 正则表达式匹配html的问题。

<dd class="gray6">
  <span class="gray6">
    中文
    <span class="padl27"></span>
    中文
  </span>
  中文内容  #需要抓取的内容
</dd>

用BeautifulSoup html.parser解析的网页,现在用re模块想抓取**第7行**的中文内容,放在一个组里面(.*?)。正则老是匹配不上,用换行符也匹配不上,不知道怎么写了。。。




高洛峰高洛峰2784 Tage vor501

Antworte allen(3)Ich werde antworten

  • 黄舟

    黄舟2017-04-18 10:26:06

    既然你都用bs4解析了,为什么不用它提取哪?
    bs4内有一个stripped_string的函数正好满足你的需要。

    Antwort
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:26:06

    import re
    pattern = re.compile(r'</span>.*?</span>(.*?)</dd>', re.S)
    str = '''<dd class="gray6">
      <span class="gray6">
        中文
        <span class="padl27"></span>
        中文
      </span>
      中文内容  #需要抓取的内容
    </dd>'''
    print(pattern.search(str).group(1))
    
    
    ===> 中文内容  #需要抓取的内容
    

    Antwort
    0
  • PHP中文网

    PHP中文网2017-04-18 10:26:06

    const re = /^\<\/span\>(.*)\<\/dd\>$/

    这样可以不?

    Antwort
    0
  • StornierenAntwort