【发布时间】:2022-11-02 04:15:23
【问题描述】:
我有一个python脚本,我分为不同的功能。我的第一个函数“get_url”应该在用户在提示中输入所需的产品名称后获取产品 url。我想在网站的所有页面中获取产品详细信息。现在,当我运行我的代码时,我只从第一个网页而不是所有 25 页中获取产品详细信息。请帮助@Nathan Mills
这是我的代码块
从硒导入网络驱动程序
进口时间
从 selenium.webdriver.chrome.service 导入服务
从 selenium.webdriver.common.by 导入
将熊猫导入为 pd
def get_url(产品):
for x in range(1,26):
product = product.replace(' ', '%20')
template = 'https://www.konga.com/search?search=={product}&page=={x}'
url = template.format(product, x)
return url
def get_all_products(巢):
name = nest.find_element(By.CLASS_NAME, 'af885_1iPzH').text.strip()
current_price = nest.find_element(By.CLASS_NAME, 'd7c0f_sJAqi').text.strip()
reviews = nest.find_element(By.CLASS_NAME, 'eea9b_1Ma8-').text.strip()
product_info = (name, current_price, reviews)
return product_info
定义主要(产品):
product_list = []
url = get_url(product)
service = Service(executable_path="C:/driver/chromedriver_win32/chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get(url)
driver.maximize_window()
time.sleep(5)
product_cards = driver.find_elements(By.CLASS_NAME, 'bbe45_3oExY')
time.sleep(5)
for everyCard in product_cards:
productDetails = get_all_products(everyCard)
product_list.append(productDetails)
col = ['Product_Name', 'Current_Price', 'Product_Reviews']
df = pd.DataFrame(product_list, columns=col)
df.to_csv("C:\\Users\LP\Documents\MainTest\MainTest.csv", index=False, encoding='utf-8', mode='a')
product = input('输入您要查找的产品:')
主要产品)
【问题讨论】:
标签: python selenium web-site-project