如果我的班级名称不断不同,例如:
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):
但这似乎并没有起到作用。
BeautifulSoup 支持CSS 选择器 http://www.crummy.com/software/BeautifulSoup/bs4/doc/#css-selectors它允许您根据特定属性的内容选择元素。这包括选择器*=
对于包含。
以下将返回所有div
元素与class
包含文本“listing-col-”的属性:
for EachPart in soup.select('div[class*="listing-col-"]'):
print EachPart.get_text()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)