簡體   English   中英

ValueError: arrays 在獲取價格期間必須全部相同長度

[英]ValueError: arrays must all be same length during getting price

這是我的代碼。 我正在嘗試將產品名稱及其價格放在一起。 但它們的長度不同。 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:\Users\ain01tr\Desktop\Çalışma Dosyası\Python\Projeler\Getting Price\chromedriver.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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM