|
|
发表于 2023-8-28 09:40:18
|
显示全部楼层
根据你提供的代码和描述,我发现问题可能出在以下几个方面:
1. 数据存储的位置:你使用openpyxl库来创建Excel文件并保存数据,但是所有的数据都保存在了A1单元格中。这是因为未指定要写入的目标单元格位置。
2. 数据的获取:你使用Selenium获取数据后,只保存了一条数据,这也导致了只有一条数据被写入Excel文件。
为了解决上述问题,你可以按照以下步骤修改代码:
1. 将data0更名为data,并将获取的所有数据都保存在列表data中。
2. 在写入数据到Excel文件时,使用循环遍历每个数据,并将它们逐行写入到不同的单元格中。
下面是修改后的代码示例:
- import time
- from selenium.webdriver.common.by import By
- from selenium import webdriver
- import openpyxl
- headers = {
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.54"
- }
- browser = webdriver.Edge()
- browser.get("https://www.52pojie.cn/")
- # 获取所有数据保存到列表中
- data = []
- elements = browser.find_elements(By.XPATH, "//*[@id='category_']/table/tbody/tr")
- for element in elements:
- data.append(element.text)
- wb = openpyxl.Workbook()
- sheet = wb.active
- # 逐行写入数据
- for value in data:
- sheet.append([value])
- wb.save("52pj帖子标题名称.xlsx")
- time.sleep(3)
复制代码
通过以上修改,你将能够实现每条数据单独占用一行,并逐次占用下一行的效果。每个数据将会被写入到不同的单元格中。
请注意,以上代码只是基于你提供的信息进行的修改,因此仅供参考。你可能需要根据具体情况进行微调和优化。
如果问题已经解决,请设置最佳答案 |
|