Python - 刮掉所有类并打印出来

时间:2018-04-13 09:58:45

标签: python beautifulsoup

所以我一直在尝试从基本上看起来像

的HTML网站中抓取数据
</div>
<div class="sizedata">
<a class="selectData" data-branch-on="1" data-size="11" data-ifno="105124" id="25096">

                    </a>
</div>
<div class="sizedata">
<a class="selectData" data-branch-on="1" data-size="12" data-ifno="173445" id="25097">

                    </a>

我一直在努力工作几个小时,我知道我很接近但还不够!

所以我一直想做的是

test = soup1.find('div', {'sizedata': 'data-size'})
print(test)

但它只是空洞的说法&#34;没有&#34;我现在刚刚变得疯狂,我不知道该怎么办才能把它刮掉!也许有些东西我错过了等等循环?基本上我想做的就是打印等等

Data1 - 数据大小 Data2 - 数据大小 Data3 - 数据大小(对于所有tehse数据大小,基本上都是每个div。

1 个答案:

答案 0 :(得分:2)

在属性中使用class="sizedata"

<强>实施例

s = """
<div class="sizedata">
    <a class="selectData" data-branch-on="1" data-size="11" data-ifno="105124" id="25096"></a>
</div>
<div class="sizedata">
    <a class="selectData" data-branch-on="1" data-size="12" data-ifno="173445" id="25097"></a>
</div>"""

from bs4 import BeautifulSoup
soup = BeautifulSoup(s, "html.parser")
print(soup.find_all('div', {'class': 'sizedata'}))

<强>输出

[<div class="sizedata">\n<a class="selectData" data-branch-on="1" data-ifno="105124" data-size="11" id="25096"></a>\n</div>, <div class="sizedata">\n<a class="selectData" data-branch-on="1" data-ifno="173445" data-size="12" id="25097"></a>\n</div>]

根据评论进行修改 (查找所有&#39;数据大小&#39; attrs)

print([item for item in soup.find_all() if "data-size" in item.attrs])
print([item["data-size"] for item in soup.find_all() if "data-size" in item.attrs])   #Just to get the data-size value