欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

bs4 beautifulsoup学习笔记

程序员文章站 2023-12-22 13:40:58
...

“”"
TODO
# 用requests库获取网页html
r = requests.get(“https://python123.io/ws/demo.html”)
demo = r.text
“”"

  1. 对demo进行html的解析
    soup =BeautifulSoup(demo, “html.parser”)

  2. 格式化html打印出来
    print(print(soup.prettify()))

  3. 打印title标签
    print(soup.title)

  4. 打印内容的第一个a标签
    print(soup.a)

  5. 打印a标签的属性
    print(soup.a.attrs)

  6. 打印a标签的text内容
    print(soup.a.string)

  7. 打印a标签的具体href连接属性
    print(soup.a.attrs[‘href’])

  8. 打印a标签的名字,就是a
    print(soup.a.name)

  9. 打印a标签的父标签名称
    print(soup.a.parent.name)

  10. 获取a的父亲的父亲标签
    print(soup.a.parent.parent.name)

  11. 获取head的子节点
    print(soup.head.contents)

  12. 遍历子节点
    for child in soup.body.children:
    print(child)

  13. 遍历子孙节点soup.body.descendants:

  14. “”"
    .patent 获取节点的父标签
    .parents 获取节点的所有父节点
    “”"

    for parent in soup.a.parents:
    if parent is None:
    print(parent)
    else:
    print(parent.name)

  15. 获取a标签的后一个平行标签,中间的字符也会算为平行标签
    print(soup.a.next_sibling)

  16. 获取a标签的后一个平行标签的后一个平行标签
    print(soup.a.next_sibling.next_sibling)

  17. 获取a标签的前一个平行标签,中间的字符也会算为平行标签
    print(soup.a.previous_sibling)

  18. “”"
    .next_siblings 遍历后续所有平行节点
    .previous_siblings 遍历前续所有平行节点
    “”"

    for sibings in soup.a.next_siblings:
    print(sibings)

  19. 获取内容的所有a标签
    soup.find_all(“a”)

    # 打印a中href属性
    for link soup.find_all("a"):
        print(link.get('href'))
    
  20. 获取所有ab标签
    soup.find_all([‘a’,‘b’])
    21.获取p标签class包含xxx属性的标签
    soup.find_add(‘p’, ‘xxx’)

  21. 获取所有标签
    soup.find_all(True)

  22. 寻找标签名包含b字符的所有标签
    soup.find_all(re.compile(‘b’))

  23. 按固定id值寻找标签
    soup.find_all(id=‘xxx’)

  24. 按id值存在xx字符寻找标签
    soup.find_all(id=re.compile(‘xxx’))

  25. recursive值,是否对子孙全部检索,默认True
    soup.find_all(‘a’, recursive = False)
    设置为false后,只对子节点进行检索

  26. string检索是否存在text为xxx的标签
    soup.find_all(string = “xxx”)

  27. string检索是否存在text包含xxx的标签
    soup.find_all(string = re.compile(“xxx”))

相关标签: bs

上一篇:

下一篇: