美文网首页
beautifulsoup (python)

beautifulsoup (python)

作者: sunnyRube | 来源:发表于2018-05-15 16:18 被阅读7次

    用BeautifulSoup解析html和xml字符串

    对象参数说明

    实例:

    #!/usr/bin/python

    # -*- coding: UTF-8 -*-

    from bs4 import BeautifulSoup

    import re

    #待分析字符串

    html_doc = """ 

    <html>

    <head>

    <title>test</title>

    </head>

    <body>

    <p>文章名</p>

    </body></html>

    """

    # html字符串创建BeautifulSoup对象

    soup = BeautifulSoup(html_doc,'html.parser',from_encoding='utf-8')

    #输出第一个title标签

    print soup.title

    #输出第一个 title 标签的标签名称

    print soup.title.name

    #输出第一个 title 标签的包含内容

    print soup.title.string

    #输出第一个 title 标签的父标签的标签名称

    print soup.title.parent.name

    #输出第一个  p标签

    print soup.p

    #输出第一个  p标签的class属性内容

    print soup.p['class']

    #输出第一个  a标签的  href属性内容

    print soup.a['href']

    '''

    soup的属性可以被添加,删除或修改. 再说一次, soup的属性操作方法与字典一样

    '''

    #修改第一个a标签的href属性为http://www.baidu.com/

    soup.a['href']= 'http://www.baidu.com/'

    #给第一个a标签添加name属性

    soup.a['name']= u'百度'

    #删除第一个a标签的class属性为

    del soup.a['class']

    ##输出第一个  p标签的所有子节点

    print soup.p.contents

    #输出第一个  a标签

    print soup.a

    #输出所有的  a标签,以列表形式显示

    print soup.find_all('a')

    #输出第一个id属性等于  link3的  a标签

    print soup.find(id="link3")

    #获取所有文字内容

    print(soup.get_text())

    #输出第一个  a标签的所有属性信息

    print soup.a.attrs

    for link in soup.find_all('a'):

        #获取link的  href属性内容

        print(link.get('href'))

    #对soup.p的子节点进行循环输出   

    for child in soup.p.children:

        print(child)

    #正则匹配,名字中带有b的标签

    for tag in soup.find_all(re.compile("b")):

        print(tag.name)

    相关文章

      网友评论

          本文标题:beautifulsoup (python)

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