来请大神赐一段python 代码
想分析几十个html页面 html里面的<div class="content"></div>其它div里就不用分析收集 html页面里的 <div class="content"></div> 标签里面是否有<a>标签 超链接如果没有则跳过 若有则提取这个超链接 有多少个就提取多少
并且把结果存入xlsx 每行一个文件的分析结果 第一列就是这个html文件的文件名 后面的列就是这个html里面存在的超链接 最好是 每个超链接占一个xlsx单元格
先谢了 发悬赏啊,XD。 学会用ai啊 这个需求还不简单
用BeautifulSoup库啊,soup.find_all('div', class_='content') import os
from bs4 import BeautifulSoup
import pandas as pd
def extract_links(html_content):
soup = BeautifulSoup(html_content, 'html.parser')
div_content = soup.find('div', class_='content')
if div_content:
links = for a in div_content.find_all('a', href=True)]
return links
return []
def analyze_html_files(directory):
results = []
for filename in os.listdir(directory):
if filename.endswith('.html'):
filepath = os.path.join(directory, filename)
with open(filepath, 'r', encoding='utf-8') as file:
html_content = file.read()
links = extract_links(html_content)
results.append( + links)
return results
def save_to_excel(data, output_file):
df = pd.DataFrame(data)
df.to_excel(output_file, index=False, header=False)
# Usage example
directory = 'html_files'
output_file = 'results.xlsx'
results = analyze_html_files(directory)
save_to_excel(results, output_file)
-
演示为本地文件,2个库:beautifulsoup4、pandas,注意HTML编码为UTF-8
- 这个需求挺简单的,用BeautifulSoup就能实现
怀疑你是求的作业吧 先装个 VScode 编辑器再装一下 AI插件推荐 https://tongyi.aliyun.com/lingma/download阿里云和腾讯的
https://marketplace.visualstudio.com/items?itemName=Tencent-Cloud.coding-copilot import os
from bs4 import BeautifulSoup
import openpyxl
# 设置要分析的HTML文件所在的目录
directory = "path/to/your/html/files"
# 创建一个新的Excel工作簿
wb = openpyxl.Workbook()
ws = wb.active
ws.title = "HTML Links Analysis"
# 添加表头
ws.append(["文件名", "超链接"])
# 遍历目录中的每个HTML文件
for filename in os.listdir(directory):
if filename.endswith(".html"):
# 读取HTML文件内容
with open(os.path.join(directory, filename), "r", encoding="utf-8") as file:
content = file.read()
# 解析HTML内容
soup = BeautifulSoup(content, "html.parser")
# 查找所有class为content的div标签
content_divs = soup.find_all("div", class_="content")
# 提取超链接
links = []
for div in content_divs:
a_tags = div.find_all("a")
if a_tags:
for a_tag in a_tags:
links.append(a_tag.get("href"))
# 将结果写入Excel文件
ws.append( + links)
# 保存Excel文件
wb.save("html_links_analysis.xlsx")
代码说明:
1. 设置目录:将directory变量设置为包含HTML文件的目录路径。
2. 创建Excel工作簿:使用openpyxl库创建一个新的Excel工作簿,并设置工作表标题。
3. 遍历HTML文件:遍历指定目录中的每个HTML文件。
4. 读取和解析HTML内容:读取HTML文件内容并使用BeautifulSoup库解析HTML。
5. 查找和提取超链接:查找所有class为content的div标签,并提取其中的<a>标签的超链接。
6. 写入Excel文件:将文件名和提取到的超链接写入Excel文件,每个超链接占一个单元格。
7. 保存Excel文件:保存生成的Excel文件。
请确保在运行代码之前安装所需的库:
pip install beautifulsoup4 openpyxl
将path/to/your/html/files替换为实际的HTML文件目录路径,然后运行代码即可。 哪个中文的python论坛人气旺啊?