首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python --抓取所有类并打印出来。

问Python --抓取所有类并打印出来。
EN

Stack Overflow用户
提问于 2018-04-13 09:58:45
回答 1查看 73关注 0票数 0

因此,我一直在尝试从HTML站点中抓取数据,这看起来就像

代码语言:javascript
复制
</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>

我已经试了好几个小时了,我知道我离得很近,但还不够!

所以我一直想做的是

代码语言:javascript
复制
test = soup1.find('div', {'sizedata': 'data-size'})
print(test)

但它给它的只是空洞的说“没有”,而我现在只是变得疯狂,我不知道该做什么来刮掉它!也许我遗漏了什么等等循环之类的?基本上我想做的是打印出来等等

Data1 -数据大小的Data2 -数据大小的Data3 -数据大小(对于所有的数据大小-大小是每个div的基本存在。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-13 10:01:13

在属性中使用class="sizedata"。

Ex:

代码语言:javascript
复制
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'}))

输出

代码语言:javascript
复制
[<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>]

编辑按注释(查找所有‘数据大小’的吸引力)

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49814263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档