bs4简单使用

from bs4 import BeautifulSoup

html = """
    <table class="tablelist" cellpadding="0" cellspacing="0">
                <tbody><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=47342&amp;keywords=python&amp;tid=0&amp;lid=0">TEG05-高级安全策略工程师(深圳)</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>深圳</td>
                    <td>2019-01-27</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=47331&amp;keywords=python&amp;tid=0&amp;lid=0">18428-财付通平台组件测试工程师</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>深圳</td>
                    <td>2019-01-27</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=47318&amp;keywords=python&amp;tid=0&amp;lid=0">CSIG07-基础安全威胁情报分析师</a></td>
                    <td>技术类</td>
                    <td>4</td>
                    <td>深圳</td>
                    <td>2019-01-27</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=47319&amp;keywords=python&amp;tid=0&amp;lid=0">CSIG07-业务威胁情报分析师</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>深圳</td>
                    <td>2019-01-27</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=47320&amp;keywords=python&amp;tid=0&amp;lid=0">CSIG07-业务威胁情报分析师</a></td>
                    <td>技术类</td>
                    <td>2</td>
                    <td>深圳</td>
                    <td>2019-01-27</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=47317&amp;keywords=python&amp;tid=0&amp;lid=0">25925-数据挖掘工程师</a></td>
                    <td>技术类</td>
                    <td>2</td>
                    <td>深圳</td>
                    <td>2019-01-27</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=47311&amp;keywords=python&amp;tid=0&amp;lid=0">PCG04-测试开发高级工程师(深圳)</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>深圳</td>
                    <td>2019-01-27</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=47297&amp;keywords=python&amp;tid=0&amp;lid=0">28603-116 微信支付效能开发工程师(深圳)</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>深圳</td>
                    <td>2019-01-27</td>
                </tr>
                                <tr class="even">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=47299&amp;keywords=python&amp;tid=0&amp;lid=0">28601-微信支付行业缴费开发工程师(深圳)</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>深圳</td>
                    <td>2019-01-27</td>
                </tr>
                                <tr class="odd">
                    <td class="l square"><a target="_blank" href="position_detail.php?id=47300&amp;keywords=python&amp;tid=0&amp;lid=0">19157-车联物联安全—固件/硬件安全研究员(上海)</a></td>
                    <td>技术类</td>
                    <td>1</td>
                    <td>上海</td>
                    <td>2019-01-27</td>
                </tr>
                                <tr class="f">
                    <td colspan="5">
                        <div class="left">共<span class="lightblue total">550</span>个职位</div>
                        <div class="right"><div class="pagenav"><a href="javascript:;" class="noactive" id="prev">上一页</a><a class="active" href="javascript:;">1</a><a href="position.php?keywords=python&amp;start=10#a">2</a><a href="position.php?keywords=python&amp;start=20#a">3</a><a href="position.php?keywords=python&amp;start=30#a">4</a><a href="position.php?keywords=python&amp;start=40#a">5</a><a href="position.php?keywords=python&amp;start=50#a">6</a><a href="position.php?keywords=python&amp;start=60#a">7</a><a href="position.php?keywords=python&amp;start=70#a">...</a><a href="position.php?keywords=python&amp;start=540#a">55</a><a href="position.php?keywords=python&amp;start=10#a" id="next">下一页</a><div class="clr"></div></div></div>
                        <div class="clr"></div>
                    </td>
                </tr>
            </tbody></table>
"""
soup = BeautifulSoup(html,'lxml')
# 获取所以的tr标签
""" 
trs = soup.find_all('tr')[:-1]
for tr in trs:
    print(tr)
"""

# 获取第三个tr标签
""" 
tr = soup.find_all('tr',limit=3)[2] # limit意思是提取n个tr标签
print(tr)  
"""

# 获取所以class等于even的tr标签
""" 
trs = soup.find_all('tr',class_= 'even') # class是关键字所以要加_
for tr in trs:
    print(tr) 
"""

# 获取所有td等于test,class也等于test的标签a提取出来
""" 
aLists = soup.find_all('td',id='test',calss_='test')
for aList in aLists:
    print(aList) 
"""
# 获取所有a标签的href属性
""" 
aLists = soup.find_all('a',limit=10)[1:]
for a in aLists:
    # 1.通过下标的操作方式
    # href = a['href']
    # print(href)
    # 2.通过attrs属性的方式
    href = a.attrs['href'] 
"""

# 获取所有的职位信息
trs = soup.find_all('tr')[1:-1]
movies = []
movie = {}
for tr in trs:
    # tds = tr.find_all('td')
    """ 
    for td in tds:
        print(td.string) 
    """
    """     
    title = tds[0].string # 获取某个标签下的非标签字符串,返回是个字符
    category = tds[1].string
    nums = tds[2].string
    city = tds[3].string
    time = tds[4].string
    movie['标题'] = title
    movie['类型'] = category
    movie['人数'] = nums
    movie['时间'] = time
    movies.append(movie) 
    """
    # infos = list(tr.strings) # 获取某个标签下的子孙非标签字符串,返回来是一个生成器,需要list,但是会产生空字符串
    infos = list(tr.stripped_strings)
    movie['标题'] = infos[0]
    movie['类型'] = infos[1]
    movie['人数'] = infos[2]
    movie['时间'] = infos[3]
    movies.append(movie)
    print(movies)
获取第三个tr标签.png
获取所以class等于even的tr标签.png
获取所以的tr标签.png
获取所有a标签的href属性.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,311评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,339评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,671评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,252评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,253评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,031评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,340评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,973评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,466评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,937评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,039评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,701评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,254评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,259评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,497评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,786评论 2 345

推荐阅读更多精彩内容