如果我的班级名称经常不同,请说:
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选择器,您可以根据特定属性的内容选择元素。这包括*=用于包含的选择器。
*=
以下将返回div具有class包含文本“ listing-col-”的属性的所有元素:
div
class
for EachPart in soup.select('div[class*="listing-col-"]'): print EachPart.get_text()