写一个python脚本打开一个给定的exel表格其中表格表的第2列的每单元格中保存的是一个网址现要求如下:1逐行打开第2列中的网址并将网址的后三个字段保存在excel的第5列的对应行里面;2每打开一个网址就遍历当前网页中是否包含已合并字段如果包含就在这个excel的第6列对应行里面填充一个Yes并将这一行填充成豆沙色否则就第6列对应行里面填充一个No并将这一行填充成红色
以下是一个实现上述要求的Python脚本:
import openpyxl
import requests
from bs4 import BeautifulSoup
# 打开Excel表格
wb = openpyxl.load_workbook('example.xlsx')
sheet = wb.active
# 遍历第2列的网址
for row in sheet.iter_rows(min_row=2, min_col=2, max_col=2):
url = str(row[0].value)
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 查找是否包含“已合并”字段
if soup.find(text='已合并'):
sheet.cell(row=row[0].row, column=6).value = 'Yes'
sheet.cell(row=row[0].row, column=6).fill = openpyxl.styles.PatternFill(start_color='FFEFD5', end_color='FFEFD5', fill_type='solid')
else:
sheet.cell(row=row[0].row, column=6).value = 'No'
sheet.cell(row=row[0].row, column=6).fill = openpyxl.styles.PatternFill(start_color='FFC0CB', end_color='FFC0CB', fill_type='solid')
# 将网址的后三个字段保存在第5列
sheet.cell(row=row[0].row, column=5).value = url.split('/')[-3:]
# 保存Excel表格
wb.save('example.xlsx')
需要注意的是,以上代码中的example.xlsx是指表格文件的文件名,需要将其替换为实际的文件名。另外,程序中使用了requests和BeautifulSoup库来获取和解析网页内容,这两个库需要通过pip进行安装
原文地址: https://www.cveoy.top/t/topic/frzD 著作权归作者所有。请勿转载和采集!