因為它只給我一個關于品牌的錯誤,我應該如何解決它
回溯(最近一次呼叫):檔案“d:/python/davago.py”,第 15 行,brand= property.find('h3', class_ = 'productitem--vendor').text.strip() AttributeError : 'NoneType' 物件沒有屬性 'text'
import requests
from bs4 import BeautifulSoup
from bs4 import *
import pandas as pd
import time
url = 'https://dvago.pk/collections/cardio-vascular-system?page=1&grid_list=grid-view'
r = requests.get(url)
soup = BeautifulSoup(r.content, 'html.parser')
content = soup.find_all('div', class_ = 'productitem')
#print(content)
for property in content:
names= property.find('div', class_ = 'productitem--info')
name= names.find('h2', class_ = 'productitem--title').text.strip()
brand= property.find('h3', class_ = 'productitem--vendor').text.strip()
print(name,brand)
uj5u.com熱心網友回復:
如果您看到最后三個內容沒有供應商名稱,那么您可以使用try和except阻止來處理exception和列印適當的宣告
import requests
from bs4 import BeautifulSoup
from bs4 import *
import pandas as pd
import time
url = 'https://dvago.pk/collections/cardio-vascular-system?page=1&grid_list=grid-view'
r = requests.get(url)
soup = BeautifulSoup(r.content, 'html.parser')
content = soup.find_all('div', class_ = 'productitem')
#print(content)
for property in content:
names= property.find('div', class_ = 'productitem--info')
try:
name= names.find('h2', class_ = 'productitem--title').text.strip()
except AttributeError:
name="Company name not available"
try:
brand= property.find('h3', class_ = 'productitem--vendor').text.strip()
except AttributeError:
brand="Brand name not available"
print("Company Name:",name)
print("Brand Name:",brand)
uj5u.com熱心網友回復:
您應該先找到“productgrid--items”,然后再查看其中的每個專案。'productitem' 類可能還有其他用途,但其中沒有 h3,這就是您收到例外的原因:
import requests
from bs4 import BeautifulSoup
from bs4 import *
# import pandas as pd
# import time
url = 'https://dvago.pk/collections/cardio-vascular-system?page=1&grid_list=grid-view'
r = requests.get(url)
soup = BeautifulSoup(r.content, 'html.parser')
aaa = soup.find('div', class_='productgrid--items') ## <------
content = aaa.find_all('div', class_='productitem') ## <------
# print(content)
for property in content:
names = property.find('div', class_='productitem--info')
name = names.find('h2', class_='productitem--title').text.strip()
brand = property.find('h3', class_='productitem--vendor').text.strip()
print(name, brand)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/334323.html
下一篇:GPU不適用于Pytorch
