使用PYTHON写一段代码,从‘D:\1_ZC专项\0-每日批量清洗数据目录\A’文件夹内爬取本地存储的HTML网页中指定的下XPAH元素内容顺序依次保存到EXCEL表格中并以当前日期+序号的格式命名保存到‘D:\1_ZC专项\0-每日批量清洗数据目录\B’,随后将保存的表格数据汇总保存到一个新的表格中。
时间: 2023-12-02 19:03:25 浏览: 73
好的,这是一个比较复杂的任务,需要用到很多 Python 的库和模块。我将在下面的代码中一步一步地讲解每个步骤,让你可以更好地理解代码的实现过程。在开始之前,需要确保你已经安装了以下库和模块:
- requests
- beautifulsoup4
- lxml
- openpyxl
- datetime
如果你还没有安装这些库和模块,可以使用以下命令在命令行中安装:
```
pip install requests beautifulsoup4 lxml openpyxl datetime
```
下面是代码实现:
```python
import os
import requests
from bs4 import BeautifulSoup
from openpyxl import Workbook
from datetime import datetime
# 指定要爬取的 HTML 文件夹路径和 XPATH
html_folder_path = r'D:\1_ZC专项\0-每日批量清洗数据目录\A'
xpath = '/html/body/div[1]/div[2]/div[3]/div[1]/h1'
# 指定要保存的 Excel 文件夹路径和文件名
excel_folder_path = r'D:\1_ZC专项\0-每日批量清洗数据目录\B'
excel_name_format = '{}_{}.xlsx'
# 创建 Excel 工作簿和工作表
wb = Workbook()
ws = wb.active
# 遍历 HTML 文件夹中的所有文件
for i, file_name in enumerate(os.listdir(html_folder_path)):
# 构造 HTML 文件的完整路径
file_path = os.path.join(html_folder_path, file_name)
# 读取 HTML 文件内容
with open(file_path, 'r', encoding='utf-8') as f:
html = f.read()
# 解析 HTML 文件内容
soup = BeautifulSoup(html, 'lxml')
# 提取指定的 XPATH 元素内容
element = soup.select_one(xpath)
content = element.text.strip()
# 将元素内容写入 Excel 工作表
ws.cell(row=i+1, column=1, value=content)
# 保存 Excel 文件
today = datetime.today().strftime('%Y%m%d')
excel_name = excel_name_format.format(today, i+1)
excel_path = os.path.join(excel_folder_path, excel_name)
wb.save(excel_path)
# 汇总 Excel 文件
summary_wb = Workbook()
summary_ws = summary_wb.active
# 遍历 Excel 文件夹中的所有文件
for i, file_name in enumerate(os.listdir(excel_folder_path)):
# 构造 Excel 文件的完整路径
file_path = os.path.join(excel_folder_path, file_name)
# 读取 Excel 文件内容
wb = load_workbook(file_path)
ws = wb.active
# 将 Excel 文件内容复制到汇总工作表
for row in ws.iter_rows():
values = [cell.value for cell in row]
summary_ws.append(values)
# 关闭 Excel 文件
wb.close()
# 保存汇总 Excel 文件
today = datetime.today().strftime('%Y%m%d')
excel_name = 'summary_{}.xlsx'.format(today)
excel_path = os.path.join(excel_folder_path, excel_name)
summary_wb.save(excel_path)
```
代码实现过程:
1. 首先,我们需要指定要爬取的 HTML 文件夹路径和 XPATH。在本例中,我们指定了 HTML 文件夹路径为 `D:\1_ZC专项\0-每日批量清洗数据目录\A`,XPATH 为 `/html/body/div[1]/div[2]/div[3]/div[1]/h1`。
2. 接下来,我们需要指定要保存的 Excel 文件夹路径和文件名。在本例中,我们指定了 Excel 文件夹路径为 `D:\1_ZC专项\0-每日批量清洗数据目录\B`,文件名格式为 `当前日期_序号.xlsx`,例如 `20211018_1.xlsx`。
3. 然后,我们创建一个 Excel 工作簿和工作表,用于保存所有 HTML 文件中指定 XPATH 元素的内容。
4. 接着,我们遍历 HTML 文件夹中的所有文件,读取文件内容并解析 HTML,提取指定的 XPATH 元素内容,然后将元素内容写入 Excel 工作表,并保存 Excel 文件。
5. 遍历完所有 HTML 文件后,我们需要汇总所有 Excel 文件的内容。我们创建一个新的 Excel 工作簿和工作表,用于保存所有 Excel 文件的内容。
6. 接着,我们遍历 Excel 文件夹中的所有文件,读取每个文件的内容,并将内容复制到汇总工作表中。
7. 遍历完所有 Excel 文件后,我们保存汇总 Excel 文件。
这就是本题的代码实现过程,如果你还有疑问或者需要更多帮助,请随时提出。
阅读全文