最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python的爬蟲包Beautiful Soup中用正則表達(dá)式來搜索

 更新時(shí)間:2016年01月20日 11:34:02   作者:crifan  
這篇文章主要介紹了Python的爬蟲包Beautiful Soup中用正則表達(dá)式來搜索的技巧,包括使用正則表達(dá)式去搜索多種可能的關(guān)鍵字以及查找屬性值未知的標(biāo)簽等,需要的朋友可以參考下

Beautiful Soup使用時(shí),一般可以通過指定對(duì)應(yīng)的name和attrs去搜索,特定的名字和屬性,以找到所需要的部分的html代碼。

但是,有時(shí)候,會(huì)遇到,對(duì)于要處理的內(nèi)容中,其name或attr的值,有多種可能,尤其是符合某一規(guī)律,此時(shí),就無法寫成固定的值了。

所以,就可以借助正則表達(dá)式來解決此問題。
比如,

<div class="icon_col">
    <h1 class="h1user">crifan</h1>
</div>

對(duì)應(yīng)的BeautifulSoup代碼如下:

h1userSoup = soup.find(name="h1", attrs={"class":"h1user"});

而如果html是這種:

<div class="icon_col">
    <h1 class="h1user">crifan</h1>
    <h1 class="h1user test1">crifan 123</h1>
    <h1 class="h1user test2">crifan 456</h1>
</div>

那么想要一次性地找到所有的,符合條件的h1的部分的代碼,則之前的寫法,就只能找到單個(gè)的class="h1user"的部分,剩下的兩個(gè)

class="h1user test1"

class="h1user test2"

就找不到了。

那么,此時(shí),就可以用到,BeautifulSoup中非常好用的,非常強(qiáng)大的功能:

attrs中支持正則表達(dá)式的寫法

了。

就可以寫成:

h1userSoupList = soup.findAll(name="h1", attrs={"class":re.compile(r"h1user(\s\w+)?")});

就可以一次性地,找到:

class="h1user"

class="h1user test1"

class="h1user test2"

了。

<div aria-lable="xxx">

之類的標(biāo)簽,xxx的內(nèi)容未知(可變)的前提下

想要查找到對(duì)應(yīng)的此div標(biāo)簽,之前不知道如何實(shí)現(xiàn)。
如果寫成:

sopu.findAll("div", attrs={"aria-lable": "xxx"});

則xxx必須寫出來,如果不寫出來屬性值,也就沒法用上attrs了,就沒法實(shí)現(xiàn)此處查找特性屬性值的標(biāo)簽了。
所以針對(duì):

<div aria-label="5星, 747 份評(píng)分" class="rating" role="img" tabindex="-1">
 <div>
 <span class="rating-star">
 </span>
 <span class="rating-star">
 </span>
 <span class="rating-star">
 </span>
 <span class="rating-star">
 </span>
 <span class="rating-star">
 </span>
 </div>
 <span class="rating-count">
 747 份評(píng)分
 </span>
</div>

可以通過:

soup.findAll("div", attrs={"aria-lable": True});

去查找到屬性包含aria-lable的div標(biāo)簽的。

所以,對(duì)于上面的,之前不知道如何處理:

用BeautifulSoup查找未知屬性值,但是已知屬性的名字的標(biāo)簽

則此處,就可以針對(duì):

<div aria-lable="xxx">

去用:

sopu.findAll("div", attrs={"aria-lable": True});

就可以查找到對(duì)應(yīng)的包含屬性aria-lable的div標(biāo)簽了。

相關(guān)文章

  • Pyinstaller加密打包應(yīng)用的示例代碼

    Pyinstaller加密打包應(yīng)用的示例代碼

    這篇文章主要介紹了Pyinstaller加密打包應(yīng)用的示例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 對(duì)Python 兩大環(huán)境管理神器 pyenv 和 virtualenv詳解

    對(duì)Python 兩大環(huán)境管理神器 pyenv 和 virtualenv詳解

    今天小編就為大家分享一篇對(duì)Python 兩大環(huán)境管理神器 pyenv 和 virtualenv詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 詳解Python各大聊天系統(tǒng)的屏蔽臟話功能原理

    詳解Python各大聊天系統(tǒng)的屏蔽臟話功能原理

    這篇文章主要介紹了詳解Python各大聊天系統(tǒng)的屏蔽臟話功能原理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。
    2016-12-12
  • 一行代碼讓 Python 的運(yùn)行速度提高100倍

    一行代碼讓 Python 的運(yùn)行速度提高100倍

    python一直被病垢運(yùn)行速度太慢,但是實(shí)際上python的執(zhí)行效率并不慢,慢的是python用的解釋器Cpython運(yùn)行效率太差。這篇文章主要介紹了一行代碼讓 Python 的運(yùn)行速度提高100倍的相關(guān)知識(shí),需要的朋友可以參考下
    2018-10-10
  • python如何進(jìn)行矩陣運(yùn)算

    python如何進(jìn)行矩陣運(yùn)算

    在本篇文章里小編給大家分享的是關(guān)于python進(jìn)行矩陣運(yùn)算的方法及實(shí)例代碼,需要的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • 詳解Django定時(shí)任務(wù)模塊設(shè)計(jì)與實(shí)踐

    詳解Django定時(shí)任務(wù)模塊設(shè)計(jì)與實(shí)踐

    這篇文章主要介紹了詳解Django定時(shí)任務(wù)模塊設(shè)計(jì)與實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python OpenCV學(xué)習(xí)筆記直方圖反向投影的實(shí)現(xiàn)

    python OpenCV學(xué)習(xí)筆記直方圖反向投影的實(shí)現(xiàn)

    這篇文章主要介紹了python OpenCV學(xué)習(xí)筆記直方圖反向投影的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02
  • python爬蟲項(xiàng)目設(shè)置一個(gè)中斷重連的程序的實(shí)現(xiàn)

    python爬蟲項(xiàng)目設(shè)置一個(gè)中斷重連的程序的實(shí)現(xiàn)

    這篇文章主要介紹了python爬蟲項(xiàng)目設(shè)置一個(gè)中斷重連的程序的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • PyCharm安裝配置Qt Designer+PyUIC圖文教程

    PyCharm安裝配置Qt Designer+PyUIC圖文教程

    這篇文章主要介紹了PyCharm安裝配置Qt Designer+PyUIC圖文教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • Python字符串的索引與切片

    Python字符串的索引與切片

    這篇文章主要介紹了Python字符串的索引與切片,文章圍繞主題展開詳細(xì)的相關(guān)資料,需要的小伙伴可以參考一下
    2022-04-04

最新評(píng)論

敦化市| 类乌齐县| 伊吾县| 大荔县| 华亭县| 泗水县| 桃园县| 诸暨市| 南平市| 阿鲁科尔沁旗| 彩票| 湟源县| 揭阳市| 纳雍县| 泊头市| 陵水| 甘孜县| 铜山县| 同德县| 淅川县| 永善县| 潞西市| 威信县| 温泉县| 绥化市| 达日县| 略阳县| 蕉岭县| 榆社县| 宜宾县| 沅江市| 中牟县| 岳西县| 保定市| 剑川县| 齐河县| 双牌县| 福建省| 海口市| 合山市| 黄龙县|