beautiful soul 解析html


http://www.ibm.com/developerworks/cn/aix/library/au-threadingpython/

http://blog.csdn.net/u013372487/article/details/51734047

http://blog.csdn.net/ghostjay0216/article/details/8122310



    用BeautifulSoup 解析html和xml字符串


    对象参数说明
    实例:


    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    from bs4 import BeautifulSoup
    import re


    #待分析字符串
    html_doc = """
    <html>
    <head>
        <title>The Dormouse's story</title>
    </head>
    <body>
    <p class="title aq">
        <b>
            The Dormouse's story
        </b>
    </p>


    <p class="story">Once upon a time there were three little sisters; and their names were
        <a href="http://example.com/elsie" class="sister" id="link1">Elsie</a>,
        <a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> 
        and
        <a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
        and they lived at the bottom of a well.
    </p>


    <p class="story">...</p>
    """




    # 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)




        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        25
        26
        27
        28
        29
        30
        31
        32
        33
        34
        35
        36
        37
        38
        39
        40
        41
        42
        43
        44
        45
        46
        47
        48
        49
        50
        51
        52
        53
        54
        55
        56
        57
        58
        59
        60
        61
        62
        63
        64
        65
        66
        67
        68
        69
        70
        71
        72
        73
        74
        75
        76
        77
        78
        79
        80
        81
        82
        83
        84
        85
        86
        87
        88
        89
        90
        91
        92
        93
        94
        95
        96
        97
        98


    爬虫设计思路:


    爬虫设计思路


    详细手册:


    https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/


版权声明:
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值