Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 具有多个类的BeautifulSoup findAll标记_Python_Beautifulsoup_Findall - Fatal编程技术网

Python 具有多个类的BeautifulSoup 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(

我正在尝试循环浏览网站上的搜索结果列表。搜索结果嵌套在具有两个不同类的div标记下,“结果项标准”和“结果项标准基本ad”。我希望搜索结果能按外观顺序找到。如何在findAll中包含多个类?还是有其他方法可以做到这一点

我目前的代码如下:

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]