当前位置:  开发笔记 > 编程语言 > 正文

美味的汤,如果类"包含"或正则表达式?

如何解决《美味的汤,如果类"包含"或正则表达式?》经验,为你挑选了2个好方法。

如果我的班级名字经常不同,比如说:

listing-col-line-3-11 dpt 41
listing-col-block-1-22 dpt 41
listing-col-line-4-13 CWK 12

通常我可以这样做:

for EachPart in soup.find_all("div", {"class" : "ClassNamesHere"}):
            print EachPart.get_text()

有太多的类名可以在这里使用,所以其中一些是出来的.

我知道Python没有我通常会使用的".contains"但它确实有一个"in".虽然我还没有找到一种方法来融入它.

我希望有一种方法可以用正则表达式做到这一点.虽然我的Python语法真的让我失望但我一直在尝试变化:

regex = re.compile('.*listing-col-.*')
    for EachPart in soup.find_all(regex):

但这似乎并没有成功.



1> mfitzp..:

BeautifulSoup支持CSS选择器,允许您根据特定属性的内容选择元素.这包括*=contains 的选择器.

以下将返回包含文本'listing-col-'的所有div元素class:

for EachPart in soup.select('div[class*="listing-col-"]'):
    print EachPart.get_text()



2> Walid Saad..:

Yu可以尝试以下方法:

regex = re.compile('.*listing-col-.*')
for EachPart in soup.find_all("div", {"class" : regex}):
        print EachPart.get_text()

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有