ValueError:在获取价格的过程中,数组的长度必须相同



这是我的代码。我正试着把产品名称和价格放在一起。但它们的长度不一样。len(pricesList(==18/len(namesList(==19。没关系。我知道问题。有关详细信息,请向下滚动。

import math
import requests
import pandas as pd
from bs4 import BeautifulSoup
from urllib.parse import urljoin
import unicodecsv as csv
import time
import datetime
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC 
from csv import reader
driver = webdriver.Chrome(executable_path=r"C:Usersain01trDesktopÇalışma DosyasıPythonProjelerGetting Pricechromedriver.exe")
driver.get("https://www.elryan.com/en/search?q=jelly")
namesList = []
pricesList = []
names = driver.find_elements_by_css_selector(".mb0.cl-accent.mt10.product-name")
for name in names:
namesList.append(name.text)
prices = driver.find_elements_by_css_selector(".price-regular.lh30.cl-primary.weight-700")
for price in prices:
pricesList.append(price.text)

data = pd.DataFrame({'Name' : namesList, 'Price': pricesList})

我试着用下面的代码来解决这个问题:

#a = {'Name' : namesList,'Price': pricesList}
#data = pd.DataFrame.from_dict(a, orient='index')
#data.transpose()

它奏效了。但这不是我想要的那种数据。NaN价格会自动进入最后一个指数,所以这是不正确的。我该怎么解决这个问题?

我希望我的解释没问题。我是这个平台的新手。

提前谢谢。

之前
prices = driver.find_elements_by_css_selector(".price-regular.lh30.cl-primary.weight-700")
for price in prices:
pricesList.append(price.text)

prices = driver.find_elements_by_css_selector(".lh30.cl-primary.weight-700")
for price in prices:
pricesList.append(price.text)

最新更新