看了这个帖子: https://v2ex.com/t/1063023 , 把里面所有的提到的工具基本都简单尝试了下发现还是不行, 所以特来详细请教。
需求: 定期性的发送 Html 格式邮件来给客户发送更新的产品和服务,比如 amotic.com 这个网站,想要做到首页直接 html 格式发给客户,尝试过右键源码保存( view-source:https://amotic.com/),然后通过邮件收到的话会丢失格式。
所以我的问题是请教各位如何通过 AI 工具做到上述要求?
1
KINGWAY OP 我通过 claude 的 Convert HTML to Table Format , 给出了使用 Python 和 BeautifulSoup 库的示例代码, 但运行未成功,请教下有哪些问题需求解决?代码如下:
from bs4 import BeautifulSoup import requests # 假设我们可以访问网页 url = "http://www.amotic.com" response = requests.get(url) html_content = response.text # 解析 HTML soup = BeautifulSoup(html_content, 'html.parser') # 创建一个新的 BeautifulSoup 对象来构建表格 table_soup = BeautifulSoup('<table border="1"></table>', 'html.parser') table = table_soup.table # 遍历原始 HTML 中的主要元素 for element in soup.body.find_all(['h1', 'h2', 'p', 'a']): row = table_soup.new_tag('tr') # 添加标签名称 tag_cell = table_soup.new_tag('td') tag_cell.string = element.name row.append(tag_cell) # 添加内容 content_cell = table_soup.new_tag('td') content_cell.string = element.text.strip() row.append(content_cell) table.append(row) # 输出结果 print(table_soup.prettify()) |
2
DefoliationM 96 天前 via Android
这有必要用 ai 吗,自己转转不就行了,邮件的 html 不支持 JavaScript ,只能纯 html 。
|
3
KINGWAY OP @DefoliationM 请问如何实现现有的网站页面转换成纯 Html? 还请指点指点,无比感谢。
|
4
LuckyLauncher 96 天前
邮件的 HTML 不是完全符合 HTML 规范的,并且每个邮件客户端的 HTML 解析都不一样,总的来讲你需要去除所有 js 代码,去掉现代化的 css 属性,然后在根据你的邮件客户端去除部分标签
这样一来你还不如重新写一个布局代码 |
5
KINGWAY OP @LuckyLauncher 其实肯定不能保证兼容所有客户端,只要保证类似 outlook/thunerbird 之类的前几位邮件客户端就可以了。
自己重写布局肯定很烦,我看有很多 Python 之类的库或者脚本就可以做到 html 转换为 table 格式, 但是一直不能实现,这也是我发帖请教的原因。 |
6
yinmin 96 天前 via iPhone
页面是通过 css 渲染的,你的 python 程序只获取了 html 文件不可能转换成功的。
|
7
lDqe4OE6iOEUQNM7 96 天前
from bs4 import BeautifulSoup
# 示例 HTML 内容 html_content = """ <html> <body> <h1>Example Heading</h1> <h2>Subheading</h2> <p>This is a paragraph.</p> <a href="http://example.com">This is a link</a> </body> </html> """ # 解析 HTML soup = BeautifulSoup(html_content, 'html.parser') # 创建一个新的 BeautifulSoup 对象来构建表格 table_soup = BeautifulSoup('<table border="1"></table>', 'html.parser') table = table_soup.table # 遍历原始 HTML 中的主要元素 for element in soup.body.find_all(['h1', 'h2', 'p', 'a']): row = table_soup.new_tag('tr') # 添加标签名称 tag_cell = table_soup.new_tag('td') tag_cell.string = element.name row.append(tag_cell) # 添加内容 content_cell = table_soup.new_tag('td') content_cell.string = element.get_text(strip=True) row.append(content_cell) table.append(row) # 输出结果 print(table_soup.prettify()) |
8
marcogray 96 天前 1
提供一种解决的思路:
1. 网站内容提取,建议你使用这个 jina.ai 这个工具,它可以把网站内容转成 Markdown 格式。 2. 把提取出来的页面 markdown 内容给 Claude ,写一段类似的 prompt: 帮我把下面的内容转换成 HTML ,并且使用 tailwindCSS 样式来美化页面,所有用到的 class 用<style></style>内联 CSS 写在 HTML 中。以下是 Markdown 内容。。。。 |
9
falcon05 96 天前 via iPhone 1
换个思路,用无头浏览器抓取或者自己对网站截图,把图片发给 ai ,写个 prompt 让 ai 根据图片生成可以在邮件正常显示的 html 代码
|
10
LuckyLauncher 96 天前
@KINGWAY #5 前几位邮件客户端的渲染也不一样啊,你还是要看每个客户端的渲染
“我看有很多 Python 之类的库或者脚本就可以做到 html 转换为 table 格式” 这也看布局格式的好吧,你要对你的网站进行深度定制才可以(正常的信息流有普通的文档流布局,float 布局,弹性盒子布局,网格布局,你的网站是哪种布局),那也就变成了我说的重新写 |
11
zsh2517 96 天前
『定期性的发送 Html 格式邮件来给客户发送更新的产品和服务』,也就是说,邮件内容是比较模板化的?
感觉可以找个组里的前端,请吃个饭或者奶茶(几十块钱应该差不多了),让他帮你还可以写个模板。(要求能看但是不要求好看的话,十几分钟几十分钟就行) 然后还可以让他帮你做一下内容生成之类的,输入列表输出排版布局 |
12
zhuangzhuang1988 96 天前 1
邮件要用特殊的工具的
比如 https://mjml.io/ |
13
meeop 96 天前
你的需求不明确:
1 目的是什么,展示网站首页样式还是展示最新产品 2 网站是你的吗,还是爬别人的 3 为什么不能直接发昂页链接 4 为什么一定要 html,截图,pdf 附件不行吗 5 一次性任务还是定时任务,人工发可以吗 看你的描述,最简单的就是发个截图或者网站链接 其次是使用富文本工具人工编辑个 html 表格 如果是你自己的网站且有研发,直接用网站后台数据构建页面发送 |
14
kokerkov 96 天前
Odoo 有类似功能。如果你只需要这一个功能,可以在自己电脑上装一个 windows 版。
|
15
136178128 96 天前
可以去搜搜 react html ,我是用下来就和正常写布局差不多了。
看了下你给的网站首页,可以叫 ai 这样写,这种列表页面应该是很简单的。 ps:那些动画就别想了。 希望能帮到你 |
16
knva 96 天前 1
截图最简单了。
|
17
busier 96 天前 via iPhone 1
给网站内容做个 rss 订阅
用 rss 订阅构建 html 发送 |
18
EchoYZD 96 天前
我有解决方案
|
19
GPT6 96 天前 1
自己抓下来图片等其他关键信息,通过服务器生成邮件专用的 html 格式再发送就行了 https://emailframe.work/
|
22
KINGWAY OP @kokerkov odoo 我倒是装了个, 目前我研究了 erpnext/odoo/mautic, 但都需要解决根本性问题,还是得知道如何撰写 html 格式邮件。
|
26
KINGWAY OP @GPT6 https://emailframe.work 这个看起来是个不错的网站,不过还是太复杂了,因为没有多余的人力,所以只能用 AI 或者现成的工具快速解决问题,
|
27
izjing666 96 天前
邮件模板自己写都会存在很多兼容性问题更别提自动生成了,建议生成图片发给用户
|
28
falcon05 96 天前 via iPhone
@KINGWAY 那个不行吧,邮件用的 html 有特殊要求,screen to code 主要是生成面向浏览器的 html ,估计不会兼容邮件,有时间我试一下。
|
29
konakona 96 天前
邮箱支持的 html 元素有限,一般用 table 做列表呈现数据。
为了视觉效果,推荐图片加 imagrmap 锚点点击跳转。 |
30
gaobh 96 天前 via iPhone
只推荐用第三方邮件模版制作服务,自己做兼容性很难搞
|
32
achuanweb 91 天前
用专业的生成邮件的富文本编辑器/ 或者 py 库,如果会 nodejs 那就很简单
|