• 基于bs4库的HTML内容查找方法


      1、<>,find_all(name,attrs,recursive,string,**kwargs)

        返回一个列表类型,存储查找的结果

        name:对标签名称的检索字符串。

    import requests
    from bs4 import BeautifulSoup
    import re
    #BeautifulSoup是一个类
    r = requests.get('http://python123.io/ws/demo.html')
    
    print(r.text)
    demo = r.text
    #解析demo的解释器
    soup = BeautifulSoup(demo,'html.parser')
    
    soup.find_all('a')
    soup.find_all(['a','b'])
    
    for tag in soup.find_all(True):
        print(tag.name)
    
    for tag in soup.find_all(re.compile('b')):
        print(tag.name)

        attrs:对标签属性值得检索字符串,可标注属性检索。

    #承接上面的demo
    soup.find_all('p','course')
    soup.find_all(id='link1')
    #我的demo中不包括link
    soup.find_all(id='link')
    
    soup.find_all(id=re.compile('link'))

        recursive:是否对子孙全部检索,默认True

    #返回的是一个空列表,这意味着是从soup的根节点开始,a标签应该在子孙的后续节点中
    print(soup.find_all('a',recursive=False))

        string:<>...</>中字符串区域的检索字符串。

    print(soup)
    #必须精确的输入字符串信息
    print(soup.find_all(string = 'Basic Python'))
    #如果希望输入一个字符串,检索出更多的信息
    print(soup.find_all(string = re.compile('python')))

      2、简短表示

        <tag>(..)等价于<tag>.find_all(..)

        soup(..)等价于soup.find_all(..)

      3、七个扩展方法

        

  • 相关阅读:
    hdu 4864 Task
    hdu 1501 Zipper
    hdu 1428 漫步校园
    hdu 1505 City Game
    hdu 1337 The Drunk Jailer
    9-13记录
    python 读取unicode编码文件
    梯度出现Nan值的追踪
    Rstudio-server更改R版本
    stdout/stderr作用学习
  • 原文地址:https://www.cnblogs.com/fb1704011013/p/11116814.html
Copyright © 2020-2023  润新知