1.简介

BeautifulSoup库也是一个HTML/XML的解析器,其使用起来很简单,但是其实解析网站用xpath和re已经足矣,这个库其实很少用到。因为其占用内存资源还是比xpath更高。

'''
BeautifulSoup库
和lxml一样,BeautifulSoup也是一个HTML/XML的解析器,主要的功能也是解析和提取HTML/XML数据。
LXML只会局部遍历,而BeautifulSoup是基于HTML DOM文档的,会载入整个文档,解析整个DOM树,因此时间和内存
开销都会大很多,所以性能要低于lxml。
BeautifulSoup用来解析HTML比较简单,API非常人性化,支持CSS选择器、python标准库中的HTML解析器,也支持lxml
的XML解析器。
BeautifulSoup 3 目前已经停止开发,推荐现在的项目使用BeautifulSoup 4.
BeautifulSoup的优点是使用方便

几大解析工具对比:
解析工具            解析速度            使用难度
BeautifulSoup       最慢                最简单
lxml                快                   简单
正则                最快                 最难

'''

2.基本使用

#  -*-coding:utf8 -*-
from bs4 import BeautifulSoup

html="""

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>职位搜索 | 社会招聘 | Tencent 腾讯招聘</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <!-- Js Css -->
             <link media="screen" href="//cdn.m.tencent.com/hr_static/css/all.css?max_age=86412" type="text/css" rel="stylesheet" />
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/jquery-1.7.2.min.js"></script>
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/jquery-ui-1.7.2.custom.min.js"></script>
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/thickbox.js"></script>
    <link media="screen" href="//cdn.m.tencent.com/hr_static/css/thickbox.css" type="text/css" rel="stylesheet" />
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/functions.js"></script>
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/utils.js"></script>
    <script language="javascript" src="//vm.gtimg.cn/tencentvideo/txp/js/txplayer.js" charset="utf-8"></script>
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/all.js?max_age=86412"></script>    <!-- Js Css -->
    <script>
        var keywords_json = [];
    </script>
</head>

<body>
        <div id="header">
        <div class="maxwidth">
            <a href="index.php" class="left" id="logo"><img src="//cdn.m.tencent.com/hr_static/img/logo.png"/></a>
            <div class="right" id="headertr">
                <div class="right pl9" id="topshares">
                    <div class="shares">
                        <span class="left">分享到:</span>
                        <!--<a href="javascript:;" onclick="shareto('qqt','top');" id="qqt" title="分享到腾讯微博">分享到腾讯微博</a>-->
                        <a href="javascript:;" onclick="shareto('qzone','top');" id="qzone" title="分享到QQ空间">分享到QQ空间</a>
                        <!--<a href="javascript:;" onclick="shareto('pengyou','top');" id="pengyou" title="分享到腾讯朋友">分享到腾讯朋友</a>-->
                        <a href="javascript:;"  onclick="shareto('sinat','top');"id="sinat" title="分享到新浪微博">分享到新浪微博</a>
                        <!--<a href="javascript:;"  onclick="shareto('renren','top');"id="renren" title="分享到人人网">分享到人人网</a>-->
                        <!--<a href="javascript:;"  onclick="shareto('kaixin001','top');"id="kaixin" title="分享到开心网">分享到开心网</a>-->
                        <div class="clr"></div>
                    </div>
                    <!--<a href="javascript:;">分享</a>-->
                </div>
                <!--<div class="right pl9">-->
                    <!--<a href="http://t.qq.com/QQjobs" id="tqq" target="_blank">收听腾讯招聘</a>-->
                <!--</div>-->
                <div class="right pr9">
                                                                <a href="login.php" id="header_login_anchor">登录</a><span class="plr9">|</span><a href="reg.php">注册</a>
                                        <span class="plr9">|</span><a href="question.php">反馈建议</a>
                    <span class="plr9">|</span><a href="http://careers.tencent.com/global" target="_blank">Tencent Global Talent</a>
                    <script>
                        var User_Account = "";
                    </script>
                                    </div>
                <div class="clr"></div>
            </div>
            <div class="clr"></div>
        </div>
        <div id="menus">
            <div class="maxwidth">
                <ul id="menu" class="left">
                    <li id="nav1" ><a href="index.php">&nbsp;</a></li>
                    <li id="nav2" class="active" ><a href="social.php">&nbsp;</a></li>
                    <li id="nav3"><a href="about.php">&nbsp;</a></li>
                    <li id="nav4"><a href="workInTencent.php">&nbsp;</a></li>
                </ul>
                <a class="right texti9" target="_blank" id="navxy" href="http://join.qq.com">校园招聘</a>
                <div class="clr"></div>
            </div>
        </div>
    </div>    <div id="sociaheader">
            </div>
    <div id="position" class="maxwidth">
        <a name="a" id="a" href='www.baidu.com'></a>
        <div class="left wcont_b box">
            <div class="blueline"><div class="butzwss"></div></div>
            <form id="searchform" class="buts1">
                <div id="searchrow1">
                    <div id="search1"><input id="search2" name="keywords" t="请输入关键词" value="" class="left"/><input class="left" id="search3" type="submit" value=""/><div class="clr"></div></div>
                    <input type="hidden" name="lid" value="0"/>
                    <input type="hidden" name="tid" value="87"/>
                </div>
                <div id="searchrow2">
                    <div class="srow2l left"></div>
                    <div class="left items pl9 itemnone" id="additems">
                        <a href="position.php?keywords=&tid=87" class="item active"><span><font>全部</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2218"><span><font>深圳</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2156"><span><font>北京</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2175"><span><font>上海</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2196"><span><font>广州</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2268"><span><font>成都</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2459"><span><font>中国香港</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2426"><span><font>昆明</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=33"><span><font>美国</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2355"><span><font>武汉</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=32"><span><font>韩国</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=59"><span><font>日本</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2252"><span><font>杭州</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=66"><span><font>印度尼西亚</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=60"><span><font>马来西亚</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2283"><span><font>福州</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2314"><span><font>南宁</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=90"><span><font>荷兰</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2226"><span><font>重庆</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2320"><span><font>合肥</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=45"><span><font>泰国</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2225"><span><font>天津</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2436"><span><font>贵阳</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2393"><span><font>太原</font></span></a>
                                            </div>
                                        <div class="left"><a href="javascript:;" class="more2">更多</a></div>
                                        <div class="clr"></div>
                </div>
                <div id="searchrow3">
                    <div class="srow2l left"></div>
                    <div class="left items pl9">
                        <a href="position.php?keywords=&lid=0" class="item"><span><font>全部</font></span></a>
                                                    <a class="item active" href="position.php?keywords=&lid=0&tid=87"><span><font>技术类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=82"><span><font>产品/项目类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=83"><span><font>市场类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=81"><span><font>设计类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=84"><span><font>职能类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=85"><span><font>内容编辑类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=86"><span><font>客户服务类</font></span></a>
                                            </div>
                    <div class="clr"></div>
                </div>
            </form>
            <table class="tablelist" cellpadding="0" cellspacing="0">
                <tr class="h">
                    <td class="l" width="374">职位名称</td>
                    <td>职位类别</td>
                    <td>人数</td>
                    <td>地点</td>
                    <td>发布时间</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49165&keywords=&tid=87&lid=0">CSIG16-自动驾驶点云感知算法工程师(北京)</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>北京</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49166&keywords=&tid=87&lid=0">31504-高级运营开发工程师</a></td>
                    <td>技术类</td>
                    <td>2</td>
                    <td>深圳</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49160&keywords=&tid=87&lid=0">CSIG16-底图渲染引擎开发工程师</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>北京</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49162&keywords=&tid=87&lid=0">PCG10-QQ浏览器推荐算法工程师</a></td>
                    <td>技术类</td>
                    <td>2</td>
                    <td>深圳</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49158&keywords=&tid=87&lid=0">CSIG15-语音识别算法研究员</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>北京</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49145&keywords=&tid=87&lid=0">15851-游戏后台开发工程师(深圳)</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>深圳</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49141&keywords=&tid=87&lid=0">PCG19-大数据开发工程师(北京)</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>北京</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49136&keywords=&tid=87&lid=0">22989-腾讯云API高级研发工程师</a></td>
                    <td>技术类</td>
                    <td>2</td>
                    <td>深圳</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49137&keywords=&tid=87&lid=0">22989-腾讯云API开源工程师</a></td>
                    <td>技术类</td>
                    <td>2</td>
                    <td>深圳</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49130&keywords=&tid=87&lid=0">WXG03-小程序推荐算法工程师</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>广州</td>
                    <td>2019-04-05</td>
            </table>
        </div>
        <div class="right wcont_s box">
            <div class="blueline"><div class="butcjwt"></div></div>
            <div class="module_faqs square"><a href="faq.php?id=5" title="如何应聘腾讯公司的职位?">如何应聘腾讯公司的职位?</a><a href="faq.php?id=3" title="应届生如何应聘?">应届生如何应聘?</a><a href="faq.php?id=19" title="腾讯应聘流程是什么?">腾讯应聘流程是什么?</a><a href="faq.php?id=20" title="我注册了简历,但为什么没有人联系我?">我注册了简历,但为什么没...</a><a href="faq.php?id=22" title="我忘记密码了,怎么办?">我忘记密码了,怎么办?</a><a href="faq.php?id=23" title="如何进行简历修改?">如何进行简历修改?</a></div>        </div>
        <div class="clr"></div>
    </div>
       <div id="homeDep"></div>        <div id="footer">
        <div>
            <a href="http://www.tencent.com/" class="test" id="test">关于腾讯</a><span>|</span><a href="http://www.qq.com/contract.shtml" target="_blank">服务条款</a><span>|</span><a href="http://hr.tencent.com/" target="_blank">腾讯招聘</a><span>|</span><a href="http://careers.tencent.com/global" target="_blank">Tencent Global Talent</a><span>|</span><a href="http://gongyi.qq.com/" target="_blank">腾讯公益</a><span>|</span><a href="http://service.qq.com/" target="_blank">客服中心</a>
        </div>
        <p>Copyright &copy; 1998 - 2019 Tencent. All Rights Reserved.</p>
    </div>
    <script type="text/javascript" src="//tajs.qq.com/stats?sId=64934792" charset="UTF-8"></script>
</body>
</html>
"""
#传入html代码,指定解析器
#指定解析器可以不传,如果不传,那么会用BeautifulSoup自带的解析器
'''
主要解析器,以及他们的优缺点:
解析器                                 使用方法                                   优势                           劣势
python标准库                 BeautifulSoup(markup,'html.parser')           python内置的标准库            python2.7.3 or3.2.2前的版本中文档容错能力差
                                                                           执行速度适中
                                                                           文档容错能力强
lxml HTML解析器              BeautifulSoup(markup,'lxml')                  速度快                        需要安装C语言库
                                                                           文档容错能力强
lxml XML解析器               BeautifulSoup(markup,'xml')                   速度快
                             BeautifulSoup(markup,['lxml','xml'])          唯一支持xml的解析器           需要安装C语言库
html5lib                     BeautifulSoup(markup,'html5lib')              最好的容错性                  速度慢
                                                                           以浏览器的方式解析文档        不依赖外部扩展
                                                                           生成HTML5格式的文档

'''
soup=BeautifulSoup(html,'lxml')
# print(bs.prettify())  #美化html

#1.获取所有tr标签
# trs=soup.find_all('tr')
#返回的是一个列表
# print(trs)
# for tr in trs:
#     print(tr)
    # print('---------')
    #是一个tag对象
    # print(type(tr))

#2.获取第2个tr标签
# trs=soup.find_all('tr',limit=2)
# print(trs[1])

#3.获取所有class等于even的tr标签
#如果按关键字传参,class属性要写成class_
# trs=soup.find_all('tr',class_='even')
# for tr in trs:
#     print(tr)
#     print('---------------')

# trs=soup.find_all('tr',attrs={'class':'even'})
# for tr in trs:
#     print(tr)
#     print('---------------')

#4.将所有id等于test,class也等于test的a标签提取出来
# alist=soup.find_all('a',attrs={'id':'test','class':'test'})
# alist=soup.find_all('a',id='test',class_='test')
# for a in alist:
#     print(a)

#5.获取所有a标签的href属性
# alist=soup.find_all('a')
# for a in alist:
    #1.通过下标操作的方式
    # href=a['href']
    #2.通过attrs属性的方式
    # href=a.attrs['href']
    # print(href)

#6.获取所有职位信息,并且是纯文本信息
trs=soup.find_all('tr')[1:]
movies=[]
# for tr in trs:
#     tds=tr.find_all('td')
#     title=tds[0].string
#     category=tds[1].string
#     nums=tds[2].string
#     city=tds[3].string
#     pubtime=tds[4].string
#     movie={
#         'title':title,
#         'category':category,
#         'nums':nums,
#         'city':city,
#         'pubtime':pubtime
#     }
#     movies.append(movie)
# print(movies)

# for tr in trs:
#     #tr.strings可以把所有非标签性的字符串全部拿出来.会把换行符号'\n'也拿出来
#     # infos=list(tr.strings)
#     #stripped_strings可以获取所有非空白的字符
#     infos=list(tr.stripped_strings)
#     movie={}
#     movie['title']=infos[0]
#     movie['category']=infos[1]
#     movie['nums']=infos[2]
#     movie['city']=infos[3]
#     movie['pubtime']=infos[4]
#     movies.append(movie)
# print(movies)

#find_all的使用
#在提取标签的时候,第一个参数是标签的名字。如果在提取标签的时候想要使用标签属性进行
#过滤,那么可以在这个方法中通过关键字参数的形式,将属性的名字以及对应的值传进去,
#或者是使用'attrs'属性,将所有的属性以及对应的值放在一个字典中传给'attrs'属性

#find和find_all的区别,用法极其相似
#find:找到第一个满足条件的标签就返回。只会返回一个
#find_all:将所有满足条件的标签都返回。返回多个,以列表的形式
a=soup.find('a')
print(a)

#使用find和find_all的过滤条件
#1.关键字参数:将属性的名字作为关键字参数的名字,以属性的值作为关键字参数的值进行过滤
#2.attrs参数:将属性条件放到一个字典中,传给attrs参数

#获取标签的属性:
#1.href=a['href']
#2.href=a.attrs['href']

#strings和stripped_strings、string属性以及get_text方法:
#1.string:获取某个标签下的非标签字符串.返回来的是个字符串。如果有多行字符,那么则获取不到
#2.strings:获取某个标签下的子孙非标签字符串。返回来的是个生成器
#3.stripped_strings:获取某个标签下子孙非标签字符串,会去掉空白字符。返回来的是个生成器
#4.get_text:获取某个标签下的子孙非标签字符串。不是以列表的形式返回,是以普通字符串返回
tr=soup.find_all('tr')[1]
text=tr.get_text()

3.css选择器介绍

#  -*-coding:utf8 -*-
# CSS选择器
'''
1.根据标签的名字选择
 p{
            background-color: pink;
    }
2.根据类名选择,那么要在类的前面加一个点
.line{
            background-color: pink;
        }
3.根据id名字选择,那么要在id的前面加一个#号
#box{
            background-color: pink;
        }
4.查找子孙元素。那么要在子孙元素中间有一个空格
 #box p {
            background-color: pink;
        }
5.直接查找子元素,那么要在父子元素中间由一个>。(查找的是子级别的元素)
 #box > p {
            background-color: pink;
        }
6.根据属性的名字进行查找。那么应该先写标签名字,然后再在中括号中写属性的值

input[name="username"] {
            background-color: pink;
        }
7.在根据类名或id进行查找的时候,如果还要根据标签名进行过滤,那么可以在类的前面或者id的签名
加上标签的名字
 div#line {
            background-color: pink;
        }

div.line {
    background-color: pink;
}
'''

4.select和css选择器提取元素

#  -*-coding:utf8 -*-

from bs4 import BeautifulSoup
#1.获取所有的tr标签
#2.获取第2个tr标签
#3.获取所有class等于even的tr标签
#4.获取所有id等于test,class也等于test的a标签提取出来
#5.获取所有a标签的href属性
#6.获取所有的职位信息(纯文本)

html="""

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>职位搜索 | 社会招聘 | Tencent 腾讯招聘</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <!-- Js Css -->
             <link media="screen" href="//cdn.m.tencent.com/hr_static/css/all.css?max_age=86412" type="text/css" rel="stylesheet" />
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/jquery-1.7.2.min.js"></script>
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/jquery-ui-1.7.2.custom.min.js"></script>
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/thickbox.js"></script>
    <link media="screen" href="//cdn.m.tencent.com/hr_static/css/thickbox.css" type="text/css" rel="stylesheet" />
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/functions.js"></script>
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/utils.js"></script>
    <script language="javascript" src="//vm.gtimg.cn/tencentvideo/txp/js/txplayer.js" charset="utf-8"></script>
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/all.js?max_age=86412"></script>    <!-- Js Css -->
    <script>
        var keywords_json = [];
    </script>
</head>

<body>
        <div id="header">
        <div class="maxwidth">
            <a href="index.php" class="left" id="logo"><img src="//cdn.m.tencent.com/hr_static/img/logo.png"/></a>
            <div class="right" id="headertr">
                <div class="right pl9" id="topshares">
                    <div class="shares">
                        <span class="left">分享到:</span>
                        <!--<a href="javascript:;" onclick="shareto('qqt','top');" id="qqt" title="分享到腾讯微博">分享到腾讯微博</a>-->
                        <a href="javascript:;" onclick="shareto('qzone','top');" id="qzone" title="分享到QQ空间">分享到QQ空间</a>
                        <!--<a href="javascript:;" onclick="shareto('pengyou','top');" id="pengyou" title="分享到腾讯朋友">分享到腾讯朋友</a>-->
                        <a href="javascript:;"  onclick="shareto('sinat','top');"id="sinat" title="分享到新浪微博">分享到新浪微博</a>
                        <!--<a href="javascript:;"  onclick="shareto('renren','top');"id="renren" title="分享到人人网">分享到人人网</a>-->
                        <!--<a href="javascript:;"  onclick="shareto('kaixin001','top');"id="kaixin" title="分享到开心网">分享到开心网</a>-->
                        <div class="clr"></div>
                    </div>
                    <!--<a href="javascript:;">分享</a>-->
                </div>
                <!--<div class="right pl9">-->
                    <!--<a href="http://t.qq.com/QQjobs" id="tqq" target="_blank">收听腾讯招聘</a>-->
                <!--</div>-->
                <div class="right pr9">
                                                                <a href="login.php" id="header_login_anchor">登录</a><span class="plr9">|</span><a href="reg.php">注册</a>
                                        <span class="plr9">|</span><a href="question.php">反馈建议</a>
                    <span class="plr9">|</span><a href="http://careers.tencent.com/global" target="_blank">Tencent Global Talent</a>
                    <script>
                        var User_Account = "";
                    </script>
                                    </div>
                <div class="clr"></div>
            </div>
            <div class="clr"></div>
        </div>
        <div id="menus">
            <div class="maxwidth">
                <ul id="menu" class="left">
                    <li id="nav1" ><a href="index.php">&nbsp;</a></li>
                    <li id="nav2" class="active" ><a href="social.php">&nbsp;</a></li>
                    <li id="nav3"><a href="about.php">&nbsp;</a></li>
                    <li id="nav4"><a href="workInTencent.php">&nbsp;</a></li>
                </ul>
                <a class="right texti9" target="_blank" id="navxy" href="http://join.qq.com">校园招聘</a>
                <div class="clr"></div>
            </div>
        </div>
    </div>    <div id="sociaheader">
            </div>
    <div id="position" class="maxwidth">
        <a name="a" id="a" href='www.baidu.com'></a>
        <div class="left wcont_b box">
            <div class="blueline"><div class="butzwss"></div></div>
            <form id="searchform" class="buts1">
                <div id="searchrow1">
                    <div id="search1"><input id="search2" name="keywords" t="请输入关键词" value="" class="left"/><input class="left" id="search3" type="submit" value=""/><div class="clr"></div></div>
                    <input type="hidden" name="lid" value="0"/>
                    <input type="hidden" name="tid" value="87"/>
                </div>
                <div id="searchrow2">
                    <div class="srow2l left"></div>
                    <div class="left items pl9 itemnone" id="additems">
                        <a href="position.php?keywords=&tid=87" class="item active"><span><font>全部</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2218"><span><font>深圳</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2156"><span><font>北京</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2175"><span><font>上海</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2196"><span><font>广州</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2268"><span><font>成都</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2459"><span><font>中国香港</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2426"><span><font>昆明</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=33"><span><font>美国</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2355"><span><font>武汉</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=32"><span><font>韩国</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=59"><span><font>日本</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2252"><span><font>杭州</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=66"><span><font>印度尼西亚</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=60"><span><font>马来西亚</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2283"><span><font>福州</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2314"><span><font>南宁</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=90"><span><font>荷兰</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2226"><span><font>重庆</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2320"><span><font>合肥</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=45"><span><font>泰国</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2225"><span><font>天津</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2436"><span><font>贵阳</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2393"><span><font>太原</font></span></a>
                                            </div>
                                        <div class="left"><a href="javascript:;" class="more2">更多</a></div>
                                        <div class="clr"></div>
                </div>
                <div id="searchrow3">
                    <div class="srow2l left"></div>
                    <div class="left items pl9">
                        <a href="position.php?keywords=&lid=0" class="item"><span><font>全部</font></span></a>
                                                    <a class="item active" href="position.php?keywords=&lid=0&tid=87"><span><font>技术类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=82"><span><font>产品/项目类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=83"><span><font>市场类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=81"><span><font>设计类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=84"><span><font>职能类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=85"><span><font>内容编辑类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=86"><span><font>客户服务类</font></span></a>
                                            </div>
                    <div class="clr"></div>
                </div>
            </form>
            <table class="tablelist" cellpadding="0" cellspacing="0">
                <tr class="h">
                    <td class="l" width="374">职位名称</td>
                    <td>职位类别</td>
                    <td>人数</td>
                    <td>地点</td>
                    <td>发布时间</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49165&keywords=&tid=87&lid=0">CSIG16-自动驾驶点云感知算法工程师(北京)</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>北京</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49166&keywords=&tid=87&lid=0">31504-高级运营开发工程师</a></td>
                    <td>技术类</td>
                    <td>2</td>
                    <td>深圳</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49160&keywords=&tid=87&lid=0">CSIG16-底图渲染引擎开发工程师</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>北京</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49162&keywords=&tid=87&lid=0">PCG10-QQ浏览器推荐算法工程师</a></td>
                    <td>技术类</td>
                    <td>2</td>
                    <td>深圳</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49158&keywords=&tid=87&lid=0">CSIG15-语音识别算法研究员</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>北京</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49145&keywords=&tid=87&lid=0">15851-游戏后台开发工程师(深圳)</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>深圳</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49141&keywords=&tid=87&lid=0">PCG19-大数据开发工程师(北京)</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>北京</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49136&keywords=&tid=87&lid=0">22989-腾讯云API高级研发工程师</a></td>
                    <td>技术类</td>
                    <td>2</td>
                    <td>深圳</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49137&keywords=&tid=87&lid=0">22989-腾讯云API开源工程师</a></td>
                    <td>技术类</td>
                    <td>2</td>
                    <td>深圳</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49130&keywords=&tid=87&lid=0">WXG03-小程序推荐算法工程师</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>广州</td>
                    <td>2019-04-05</td>
            </table>
        </div>
        <div class="right wcont_s box">
            <div class="blueline"><div class="butcjwt"></div></div>
            <div class="module_faqs square"><a href="faq.php?id=5" title="如何应聘腾讯公司的职位?">如何应聘腾讯公司的职位?</a><a href="faq.php?id=3" title="应届生如何应聘?">应届生如何应聘?</a><a href="faq.php?id=19" title="腾讯应聘流程是什么?">腾讯应聘流程是什么?</a><a href="faq.php?id=20" title="我注册了简历,但为什么没有人联系我?">我注册了简历,但为什么没...</a><a href="faq.php?id=22" title="我忘记密码了,怎么办?">我忘记密码了,怎么办?</a><a href="faq.php?id=23" title="如何进行简历修改?">如何进行简历修改?</a></div>        </div>
        <div class="clr"></div>
    </div>
       <div id="homeDep"></div>        <div id="footer">
        <div>
            <a href="http://www.tencent.com/" class="test" id="test">关于腾讯</a><span>|</span><a href="http://www.qq.com/contract.shtml" target="_blank">服务条款</a><span>|</span><a href="http://hr.tencent.com/" target="_blank">腾讯招聘</a><span>|</span><a href="http://careers.tencent.com/global" target="_blank">Tencent Global Talent</a><span>|</span><a href="http://gongyi.qq.com/" target="_blank">腾讯公益</a><span>|</span><a href="http://service.qq.com/" target="_blank">客服中心</a>
        </div>
        <p>Copyright &copy; 1998 - 2019 Tencent. All Rights Reserved.</p>
    </div>
    <script type="text/javascript" src="//tajs.qq.com/stats?sId=64934792" charset="UTF-8"></script>
</body>
</html>
"""
soup=BeautifulSoup(html,'lxml')

# 1.获取所有的tr标签
trs=soup.select('tr')
# 获取的是一个列表
print(trs)
# for tr in trs:
    # print(type(tr))#返回的是tag对象
    # print(tr)
    # print('='*30)

#2.获取第二个tr标签
# tr=soup.select('tr')[1]
# print(tr)

#3.获取所有class等于even的tr标签
# trs=soup.select('tr.even')
# trs=soup.select('.even')
# for tr in trs:
#     print(tr)

#4.获取所有id等于test,class也等于test的a标签提取出来
#这个使用选择器不好查找

#5.获取所有a标签的href属性
# alist=soup.select('a')
# for a in alist:
#     href=a['href']
#     print(href)

#6.获取所有的职位信息(纯文本)
# trs=soup.select('tr')
# for tr in trs:
#     infos=list(tr.stripped_strings)
#     print(infos)

#BeautifulSoup中使用css选择器
#要使用soup.select('')方法。应该传递一个css选择器的字符串给select方法

5.beautiful拾遗

#  -*-coding:utf8 -*-

from bs4 import BeautifulSoup

html="""

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>职位搜索 | 社会招聘 | Tencent 腾讯招聘</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <!-- Js Css -->
             <link media="screen" href="//cdn.m.tencent.com/hr_static/css/all.css?max_age=86412" type="text/css" rel="stylesheet" />
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/jquery-1.7.2.min.js"></script>
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/jquery-ui-1.7.2.custom.min.js"></script>
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/thickbox.js"></script>
    <link media="screen" href="//cdn.m.tencent.com/hr_static/css/thickbox.css" type="text/css" rel="stylesheet" />
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/functions.js"></script>
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/utils.js"></script>
    <script language="javascript" src="//vm.gtimg.cn/tencentvideo/txp/js/txplayer.js" charset="utf-8"></script>
    <script type="text/javascript" src="//cdn.m.tencent.com/hr_static/js/all.js?max_age=86412"></script>    <!-- Js Css -->
    <script>
        var keywords_json = [];
    </script>
</head>

<body>
        <p>
        <!-- 我是注释字符串 -->
        </p>
        <div>我是div的内容</div>
        <div id="header">
        <div class="maxwidth">
            <a href="index.php" class="left" id="logo"><img src="//cdn.m.tencent.com/hr_static/img/logo.png"/></a>
            <div class="right" id="headertr">
                <div class="right pl9" id="topshares">
                    <div class="shares">
                        <span class="left">分享到:</span>
                        <!--<a href="javascript:;" onclick="shareto('qqt','top');" id="qqt" title="分享到腾讯微博">分享到腾讯微博</a>-->
                        <a href="javascript:;" onclick="shareto('qzone','top');" id="qzone" title="分享到QQ空间">分享到QQ空间</a>
                        <!--<a href="javascript:;" onclick="shareto('pengyou','top');" id="pengyou" title="分享到腾讯朋友">分享到腾讯朋友</a>-->
                        <a href="javascript:;"  onclick="shareto('sinat','top');"id="sinat" title="分享到新浪微博">分享到新浪微博</a>
                        <!--<a href="javascript:;"  onclick="shareto('renren','top');"id="renren" title="分享到人人网">分享到人人网</a>-->
                        <!--<a href="javascript:;"  onclick="shareto('kaixin001','top');"id="kaixin" title="分享到开心网">分享到开心网</a>-->
                        <div class="clr"></div>
                    </div>
                    <!--<a href="javascript:;">分享</a>-->
                </div>
                <!--<div class="right pl9">-->
                    <!--<a href="http://t.qq.com/QQjobs" id="tqq" target="_blank">收听腾讯招聘</a>-->
                <!--</div>-->
                <div class="right pr9">
                                                                <a href="login.php" id="header_login_anchor">登录</a><span class="plr9">|</span><a href="reg.php">注册</a>
                                        <span class="plr9">|</span><a href="question.php">反馈建议</a>
                    <span class="plr9">|</span><a href="http://careers.tencent.com/global" target="_blank">Tencent Global Talent</a>
                    <script>
                        var User_Account = "";
                    </script>
                                    </div>
                <div class="clr"></div>
            </div>
            <div class="clr"></div>
        </div>
        <div id="menus">
            <div class="maxwidth">
                <ul id="menu" class="left">
                    <li id="nav1" ><a href="index.php">&nbsp;</a></li>
                    <li id="nav2" class="active" ><a href="social.php">&nbsp;</a></li>
                    <li id="nav3"><a href="about.php">&nbsp;</a></li>
                    <li id="nav4"><a href="workInTencent.php">&nbsp;</a></li>
                </ul>
                <a class="right texti9" target="_blank" id="navxy" href="http://join.qq.com">校园招聘</a>
                <div class="clr"></div>
            </div>
        </div>
    </div>    <div id="sociaheader">
            </div>
    <div id="position" class="maxwidth">
        <a name="a" id="a" href='www.baidu.com'></a>
        <div class="left wcont_b box">
            <div class="blueline"><div class="butzwss"></div></div>
            <form id="searchform" class="buts1">
                <div id="searchrow1">
                    <div id="search1"><input id="search2" name="keywords" t="请输入关键词" value="" class="left"/><input class="left" id="search3" type="submit" value=""/><div class="clr"></div></div>
                    <input type="hidden" name="lid" value="0"/>
                    <input type="hidden" name="tid" value="87"/>
                </div>
                <div id="searchrow2">
                    <div class="srow2l left"></div>
                    <div class="left items pl9 itemnone" id="additems">
                        <a href="position.php?keywords=&tid=87" class="item active"><span><font>全部</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2218"><span><font>深圳</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2156"><span><font>北京</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2175"><span><font>上海</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2196"><span><font>广州</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2268"><span><font>成都</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2459"><span><font>中国香港</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2426"><span><font>昆明</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=33"><span><font>美国</font></span></a>
                                                    <a class="item" href="position.php?keywords=&tid=87&lid=2355"><span><font>武汉</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=32"><span><font>韩国</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=59"><span><font>日本</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2252"><span><font>杭州</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=66"><span><font>印度尼西亚</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=60"><span><font>马来西亚</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2283"><span><font>福州</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2314"><span><font>南宁</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=90"><span><font>荷兰</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2226"><span><font>重庆</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2320"><span><font>合肥</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=45"><span><font>泰国</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2225"><span><font>天津</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2436"><span><font>贵阳</font></span></a>
                                                    <a class="item itemhide" href="position.php?keywords=&tid=87&lid=2393"><span><font>太原</font></span></a>
                                            </div>
                                        <div class="left"><a href="javascript:;" class="more2">更多</a></div>
                                        <div class="clr"></div>
                </div>
                <div id="searchrow3">
                    <div class="srow2l left"></div>
                    <div class="left items pl9">
                        <a href="position.php?keywords=&lid=0" class="item"><span><font>全部</font></span></a>
                                                    <a class="item active" href="position.php?keywords=&lid=0&tid=87"><span><font>技术类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=82"><span><font>产品/项目类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=83"><span><font>市场类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=81"><span><font>设计类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=84"><span><font>职能类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=85"><span><font>内容编辑类</font></span></a>
                                                    <a class="item" href="position.php?keywords=&lid=0&tid=86"><span><font>客户服务类</font></span></a>
                                            </div>
                    <div class="clr"></div>
                </div>
            </form>
            <table class="tablelist" cellpadding="0" cellspacing="0">
                <tr class="h">
                    <td class="l" width="374">职位名称</td>
                    <td>职位类别</td>
                    <td>人数</td>
                    <td>地点</td>
                    <td>发布时间</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49165&keywords=&tid=87&lid=0">CSIG16-自动驾驶点云感知算法工程师(北京)</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>北京</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49166&keywords=&tid=87&lid=0">31504-高级运营开发工程师</a></td>
                    <td>技术类</td>
                    <td>2</td>
                    <td>深圳</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49160&keywords=&tid=87&lid=0">CSIG16-底图渲染引擎开发工程师</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>北京</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49162&keywords=&tid=87&lid=0">PCG10-QQ浏览器推荐算法工程师</a></td>
                    <td>技术类</td>
                    <td>2</td>
                    <td>深圳</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49158&keywords=&tid=87&lid=0">CSIG15-语音识别算法研究员</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>北京</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49145&keywords=&tid=87&lid=0">15851-游戏后台开发工程师(深圳)</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>深圳</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49141&keywords=&tid=87&lid=0">PCG19-大数据开发工程师(北京)</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>北京</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49136&keywords=&tid=87&lid=0">22989-腾讯云API高级研发工程师</a></td>
                    <td>技术类</td>
                    <td>2</td>
                    <td>深圳</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49137&keywords=&tid=87&lid=0">22989-腾讯云API开源工程师</a></td>
                    <td>技术类</td>
                    <td>2</td>
                    <td>深圳</td>
                    <td>2019-04-05</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=49130&keywords=&tid=87&lid=0">WXG03-小程序推荐算法工程师</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>广州</td>
                    <td>2019-04-05</td>
            </table>
        </div>
        <div class="right wcont_s box">
            <div class="blueline"><div class="butcjwt"></div></div>
            <div class="module_faqs square"><a href="faq.php?id=5" title="如何应聘腾讯公司的职位?">如何应聘腾讯公司的职位?</a><a href="faq.php?id=3" title="应届生如何应聘?">应届生如何应聘?</a><a href="faq.php?id=19" title="腾讯应聘流程是什么?">腾讯应聘流程是什么?</a><a href="faq.php?id=20" title="我注册了简历,但为什么没有人联系我?">我注册了简历,但为什么没...</a><a href="faq.php?id=22" title="我忘记密码了,怎么办?">我忘记密码了,怎么办?</a><a href="faq.php?id=23" title="如何进行简历修改?">如何进行简历修改?</a></div>        </div>
        <div class="clr"></div>
    </div>
       <div id="homeDep"></div>        <div id="footer">
        <div>
            <a href="http://www.tencent.com/" class="test" id="test">关于腾讯</a><span>|</span><a href="http://www.qq.com/contract.shtml" target="_blank">服务条款</a><span>|</span><a href="http://hr.tencent.com/" target="_blank">腾讯招聘</a><span>|</span><a href="http://careers.tencent.com/global" target="_blank">Tencent Global Talent</a><span>|</span><a href="http://gongyi.qq.com/" target="_blank">腾讯公益</a><span>|</span><a href="http://service.qq.com/" target="_blank">客服中心</a>
        </div>
        <p>Copyright &copy; 1998 - 2019 Tencent. All Rights Reserved.</p>
    </div>

    <script type="text/javascript" src="//tajs.qq.com/stats?sId=64934792" charset="UTF-8"></script>
</body>
</html>
"""
soup=BeautifulSoup(html,'lxml')

#Beautiful中4个常用对象
#1.tag
# table=soup.find('table')
# print(type(table))

#2.NavigableString
#是字符串,继承str,当成str即可
# div=soup.find('div')
# print(type(div.string))

#3.Comment
# p=soup.find('p')
#可以拿到p标签下面的注释字符串.但是如果p标签下有多行字符串,比如,换行符,字符串,换行符,这样就获取不到了
# print(p.string)
#可以拿到p标签下所有内容
# print(p.contents)

#4.BeautifulSoup

table=soup.find('table')
# print(table.contents)#返回的是列表
# print(table.children)#返回的是生成器
for i in table.children:
    print(i)

#常见的四种对象:
'''
1.Tag:BeautifulSoup中所有的标签都是Tag类型,并且BeautifulSoup的对象其实本质上也是一个Tag类型,
所以其实一些方法比如find、find_all并不是BeautifulSoup的,而是Tag的
2.NavigableString:继承自python中的str,用起来就跟使用python的str是一样的
3.BeautifulSoup:继承自Tag。用来生成BeautifulSoup树的。对于一些查找方法,比如find、select这些,
其实还是Tag的
4.Comment:这个也没什么好说,就是继承自NavigableString

'''

#contents和children
'''
返回某个标签下的直接子元素,其中也包括字符串。他们两的区别是:contents返回来的是一个列表,
children返回的是一个迭代器
'''

BeautifulSoup库的使用的更多相关文章

  1. Python爬虫小白入门(三)BeautifulSoup库

    # 一.前言 *** 上一篇演示了如何使用requests模块向网站发送http请求,获取到网页的HTML数据.这篇来演示如何使用BeautifulSoup模块来从HTML文本中提取我们想要的数据. ...

  2. BeautifulSoup库children(),descendants()方法的使用

    BeautifulSoup库children(),descendants()方法的使用 示例网站:http://www.pythonscraping.com/pages/page3.html 网站内容 ...

  3. 网络爬虫BeautifulSoup库的使用

    使用BeautifulSoup库提取HTML页面信息 #!/usr/bin/python3 import requests from bs4 import BeautifulSoup url='htt ...

  4. python爬虫学习之使用BeautifulSoup库爬取开奖网站信息-模块化

    实例需求:运用python语言爬取http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html这个开奖网站所有的信息,并且保存为txt文件和excel文件. 实 ...

  5. python下载安装BeautifulSoup库

    python下载安装BeautifulSoup库 1.下载https://www.crummy.com/software/BeautifulSoup/bs4/download/4.5/ 2.解压到解压 ...

  6. 基于BeautifulSoup库的HTML内容的查找

    一.BeautifulSoup库提供了一个检索的参数: <>.find_all(name,attrs,recursive,string,**kwargs),它返回一个列表类型,存储查找的结 ...

  7. BeautifulSoup库

    '''灵活又方便的网页解析库,处理高效,支持多种解析器.利用它不用编写正则表达式即可方便的实现网页信息的提取.''' BeautifulSoup库包含的一些解析库: 解析库 使用方法 优势 劣势 py ...

  8. python BeautifulSoup库的基本使用

    Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree). 它提供简单又常用的导航(navigating),搜索以 ...

  9. python爬虫学习(一):BeautifulSoup库基础及一般元素提取方法

    最近在看爬虫相关的东西,一方面是兴趣,另一方面也是借学习爬虫练习python的使用,推荐一个很好的入门教程:中国大学MOOC的<python网络爬虫与信息提取>,是由北京理工的副教授嵩天老 ...

随机推荐

  1. jquery 第四章

    1.回顾 节点.append(内容) 节点.prepend(内容) 节点.remove() 节点.attr("属性","值") 节点.css("样式& ...

  2. 参数ref与out

    通常我们向方法中传递的是值,方法获得的是这些值的一个拷贝,然后使用这些拷贝,当方法运行完毕后,这些拷贝将被丢弃,而原来的值不会受到影响. 这种情况是通常的,当然还有另外一种情况,我们向方法传递参数的形 ...

  3. 【转】Oracle imp 总是不停地重复闪烁

    http://blog.itpub.net/7282477/viewspace-1003160/ 在dos下执行: imp username/password buffer=1000000 file= ...

  4. IdentityServer4 记录

    IdentityServer4 文档 https://www.cnblogs.com/edisonchou/p/identityserver4_foundation_and_quickstart_01 ...

  5. HttpWebRequest简单使用

    HttpWebRequest简单使用  摘要 HttpWebRequest类对WebRequest中定义的属性和方法提供支持,也对使用户能够直接与使用HTTP的服务器交互的附加属性和方法提供支持. 创 ...

  6. xss的一般防护措施(及CreateDefaultBuilder源码)

    从上个礼拜开始,公司的安全小组就开始排查公司项目的安全性,首屈一指的就是xss问题,为此我总结了下我的经验. 1.对后台程序的输出数据做html编码处理,前端做简单的替换处理 2.如果业务需要,后台可 ...

  7. Beta(2/7)

    鐵鍋燉腯鱻 项目:小鱼记账 团队成员 项目燃尽图 冲刺情况描述 站立式会议照片 各成员情况 团队成员 学号 姓名 git地址 博客地址 031602240 许郁杨 (组长) https://githu ...

  8. Anaconda介绍、安装及使用教程

    https://www.jianshu.com/p/62f155eb6ac5 Anaconda介绍.安装及使用教程 Python是一种面向对象的解释型计算机程序设计语言,其使用,具有跨平台的特点,可以 ...

  9. 为什么很多应用都安装在/usr/local目录下?

    首先,Linux的官方文档FHS对该目录的说明:http://www.linuxbase.org/betaspecs/fhs/fhs/ch04s09.html The /usr/local hiera ...

  10. 【C语言程序】法雷数列

    对任意给定的一个自然数n,将分母小于等于n的不可约的真分数按升序排列,并且在第一个分数之前加上0/1,在最后一个分数之后加上1/1,这个序列称为n级法雷数列,以Fn表示.如F5为:0/1,1/5, 1 ...