我很好奇为什么无法按如下方式获得此类的div元素(该元素以前曾工作过,但在其他站点上工作过)。也许这是这个网站的问题?
from urllib.request import urlopen
from bs4 import BeautifulSoup
import requests
url = "https://www.docmorris.de/produkte/abnehmen"
page=requests.get(url, headers=headers)
soup = BeautifulSoup(page.content, features="lxml")
divs=soup.find_all("div",attrs={"class": "l-product mod-standard product
list-item ff-slider"})
print(divs)
打印一个空数组。我希望所有具有“ l-product mod-standard产品列表项目ff-slider”类的div元素
答案 0 :(得分:0)
您只需要一个多值类,这样就不会那么脆弱。另外,删除标题。
from bs4 import BeautifulSoup
import requests
url = "https://www.docmorris.de/produkte/abnehmen"
page = requests.get(url)
soup = BeautifulSoup(page.content, features="lxml")
divs = soup.select('.l-product')
print(divs)
多值(更脆弱)将是:
divs = soup.select('.l-product.mod-standard.product.list-item.ff-slider')
或(如注释中所述-确保一行):
divs = soup.find_all("div",attrs={"class": "l-product mod-standard product list-item ff-slider"})