Python 具有多个类的BeautifulSoup findAll标记
我正在尝试循环浏览网站上的搜索结果列表。搜索结果嵌套在具有两个不同类的div标记下,“结果项标准”和“结果项标准基本ad”。我希望搜索结果能按外观顺序找到。如何在findAll中包含多个类?还是有其他方法可以做到这一点 我目前的代码如下:Python 具有多个类的BeautifulSoup findAll标记,python,beautifulsoup,findall,Python,Beautifulsoup,Findall,我正在尝试循环浏览网站上的搜索结果列表。搜索结果嵌套在具有两个不同类的div标记下,“结果项标准”和“结果项标准基本ad”。我希望搜索结果能按外观顺序找到。如何在findAll中包含多个类?还是有其他方法可以做到这一点 我目前的代码如下: for div in soup.findAll("div", {"class": ["result-item standard", "result-item standard basic ad"]}): #item_title = " ".join(
for div in soup.findAll("div", {"class": ["result-item standard", "result-item standard basic ad"]}):
#item_title = " ".join(div.h2.a.text.split())
item = div.h2.a.text.split()
item_year = item[0]
item_make = item[1]
我只想说:
div.result-item.standard
将匹配同时具有result-item
和standard
类的div
元素。可能会稍微慢一点,但使用class
选择器:
divs = soup.find_all("div", class_="result-item standard") + soup.find_all("div", class_="result-item standard basic ad")
for div in divs:
item = div.h2.a.text.split()
item_year = item[0]
item_make = item[1]
您使用的语法是BS3,此答案中的语法是BS4。请参阅。
divs = soup.find_all("div", class_="result-item standard") + soup.find_all("div", class_="result-item standard basic ad")
for div in divs:
item = div.h2.a.text.split()
item_year = item[0]
item_make = item[1]