首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获得“美汤4”网站的特定部分

获得“美汤4”网站的特定部分
EN

Stack Overflow用户
提问于 2017-03-10 15:08:40
回答 2查看 426关注 0票数 0

我了解了使用“美丽汤4”查找东西的基本知识。然而,现在我遇到了一个特定的问题,我想从下面代码的数据类中抓取"2DKT94P“:

代码语言:javascript
复制
<div class="js-object   listitem_wrap " data-estateid="45784882" data-oid="2DKT94P">
<div class="listitem relative js-listitem ">

关于我该怎么做有什么建议吗?我也希望能有一个指针,作为高级教程的参考,介绍这一点,并/或提供一个链接,说明我可以在正式文档中找到这一点,因为我没有识别出正确的部分.

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-10 15:28:00

您应该使用class属性定位div标记,然后获取它的data-oid属性

代码语言:javascript
复制
div = soup.find("div", class_="js-object")

oid = div['data-oid']
票数 1
EN

Stack Overflow用户

发布于 2017-03-10 15:18:46

如果您的数据格式化得很好,您可以通过这样做:

代码语言:javascript
复制
from bs4 import BeautifulSoup

example = """
<div class="js-object   listitem_wrap " data-estateid="45784882" data-
oid="2DKT94P">
<div class="listitem relative js-listitem ">2DKT94P DIV</div>
</div>
<div>other div</div>"""

soup = BeautifulSoup(example, "html.parser")
RandomDIV = soup.find(attrs= {"data-oid":"2DKT94P"})
print (RandomDIV.get_text().strip())

产出:

2 DKT94P DIV

找到更多关于findfind_all和属性这里的信息。

或者通过select

代码语言:javascript
复制
RandomDIV = soup.select("div[data-oid='2DKT94P']")
print (RandomDIV[0].get_text().strip())

找到更多关于选择的信息。

编辑:

完全误解了这个问题。如果只想搜索data-oid,可以这样做:

代码语言:javascript
复制
soup = BeautifulSoup(example, "html.parser")
RandomDIV = soup.find_all(lambda tag: [t for t in tag.attrs if 
t  == 'data-oid'])
for div in RandomDIV:
    #data-oid
    print(div["data-oid"])
    #text
    print (div.text.strip())

学习更多的这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42721606

复制
相关文章

相似问题

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