我正在使用 beautiful soup 来从 url 中获取元素。页面上有些元素的类名称会根据值和百分比(向上、向下、平坦)而变化。显然,如果我尝试soup.find('div', class_='down-indicator')并且这是一个积极的指标,我将收到如下错误:AttributeError: 'NoneType' object has no attribute 'find'。我需要一种 Pythonic 方式来循环或尝试 3 个可能的类选项,而不会出现错误破坏我的代码。我也尝试res = soup.find('div', class_='down-indicator')过执行 aif res is None...但它不会返回None它会返回错误。任何信息和学习将不胜感激!预先感谢您,这是我对某些代码的糟糕尝试:根据元素的不同,这 2 个 url 对于同一区域具有不同的类名称。url = 'http://www.stockx.com/adidas-yeezy-boost-380-lmnte-infants'url = 'http://www.stockx.com/adidas-yeezy-boost-350-oxford-tan'这些是find()元素的确切函数,因为它可以向上、向下或平坦:soup.find('div', class_='last-sale-value market-dir market-dir-down').find('div', class_='dollar').textsoup.find('div', class_='last-sale-value market-dir market-dir-up').find('div', class_='dollar').textsoup.find('div', class_='last-sale-value market-dir market-dir-static').find('div', class_='dollar').textdriver = webdriver.Firefox()driver.get(url)content = driver.page_sourcesoup = BeautifulSoup(content, 'lxml')try: result = soup.find('div', class_='up-indicator').text result = soup.find('div', class_='down-indicator').text result = soup.find('div', class_='flat-indicator').textexcept: pass
添加回答
举报
0/150
提交
取消