美文网首页
利用bs4 进行文本查找

利用bs4 进行文本查找

作者: Peng_001 | 来源:发表于2020-07-13 16:11 被阅读0次

    find_all 函数

    <>.find_all(name, attrs,recursive,string,**kwargs)
    #name:对标签名称检索的字符串。
    #attrs: 对标签属性值的检索字符串,可以标注属性检索。
    #recursive: 是否对子孙节点搜索,默认为True。
    #string: 对标签中间的字符串域检索(类似attrs与name)。
    

    打印指定标签类型

    import requests
    from bs4 import BeautifulSoup
    
    r = requests.get("https://python123.io/ws/demo.html")
    demo = r.text
    soup = BeautifulSoup(demo, "html.parser")
    print(soup.find_all('a'))
    

    循环打印所有标签名

    for tag in soup.find_all(True):
        print(tag.name)
    

    借助正则实现精准指定

    import re
    for tag in soup.find_all(re.compile('b')):
        print(tag.name)
    

    指定标签属性

    # 输出指定id为link1 的标签
    print(soup.find_all(id='link1'))
    

    也可以借助正则,实现部分信息的查找。

    print(soup.find_all(id=re.compile('link')))
    

    简写find_all

    由于**.find_all()函数使用非常频繁,因此设计者直接简化了该函数的饮用,我们可以直接使用BeautifulSoup解析后信息存储的变量。
    soup.find_all()等价于soup()

    find 函数的其他方法

    相关文章

      网友评论

          本文标题:利用bs4 进行文本查找

          本文链接:https://www.haomeiwen.com/subject/gbgacktx.html