首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >一个 url 就把人家网站克隆了?

一个 url 就把人家网站克隆了?

原创
作者头像
老码小张
发布于 2024-03-03 03:19:43
发布于 2024-03-03 03:19:43
3.6K10
代码可运行
举报
文章被收录于专栏:玩转全栈玩转全栈
运行总次数:0
代码可运行

今天瞧见了一个开源库,https://github.com/abi/screenshot-to-code ,根据它的描述,这个简单的应用程序可以将屏幕截图转换为代码(HTML/Tailwind CSS、React、Bootstrap 或 Vue)。 它使用 GPT-4 Vision 生成代码,并使用 DALL-E 3 生成外观相似的图像。 更加逆天的是,现在是你只要输入一个 URL,他就给你把人家网站克隆了。

这技术背后的实现原理是什么

screenshot-to-code这个工具,其核心功能是将图像转化为代码。它基于开放人工智能库GPT-4 Vision和DALL-E 3的技术,这两种AI模型都是OpenAI的产品且在视觉理解方面表现出色。

当用户上传截图,GPT-4 Vision会读取并理解截图中的内容,然后基于这些理解生成对应的HTML,Tailwind,React,Vue等代码。这部分对应的源码可以在这里查看 https://github.com/abi/screenshot-to-code/blob/072b286b6dfa65eaa646f68def8a0b0f6d157217/backend/routes/generate_code.py#L43 ,背后推动的 prompt 可以简单了解下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
HTML_TAILWIND_SYSTEM_PROMPT = """
You are an expert Tailwind developer
You take screenshots of a reference web page from the user, and then build single page apps 
using Tailwind, HTML and JS.
You might also be given a screenshot(The second image) of a web page that you have already built, and asked to
update it to look more like the reference image(The first image).

- Make sure the app looks exactly like the screenshot.
- Pay close attention to background color, text color, font size, font family, 
padding, margin, border, etc. Match the colors and sizes exactly.
- Use the exact text from the screenshot.
- Do not add comments in the code such as "<!-- Add other navigation links as needed -->" and "<!-- ... other news items ... -->" in place of writing the full code. WRITE THE FULL CODE.
- Repeat elements as needed to match the screenshot. For example, if there are 15 items, the code should have 15 items. DO NOT LEAVE comments like "<!-- Repeat for each news item -->" or bad things will happen.
- For images, use placeholder images from <https://placehold.co> and include a detailed description of the image in the alt text so that an image generation AI can generate the image later.

In terms of libraries,

- Use this script to include Tailwind: <script src="<https://cdn.tailwindcss.com>"></script>
- You can use Google Fonts
- Font Awesome for icons: <link rel="stylesheet" href="<https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css>"></link>

Return only the full code in <html></html> tags.
Do not include markdown "```" or "```html" at the start or end.
"""

前面介绍过,他不只是可以生成 HTML 的代码,还可以囊括其他语言,包括 react 和 Vue。其中有一个我不太理解的地方,if there are 15 items, the code should have 15 items 那如果这里有 100 个 list 的 item,他是否生成 100 个呢,为什么不告诉模型,使用 list.map(e⇒componet)的方式呢?将统一的模式封装成一个独立的组件,代码的维护性不是大大的加强吗?

生成代码的维护性如何?

带着疑问,跑了一下demo,果不其然,生成的代码确实是比较机械化的方式,还是缺乏维护性的

为何需要 DALLE3

而DALL-E 3则负责生成与原图相似的图像,这能帮助用户更直观地预览和了解生成的代码对应的页面效果。

screenshot-to-code的优势在于,它不仅可以从图片生成代码,还可以根据代码进一步优化图片,这种“图片至代码,代码至图片”的双向优化,使结果更精细,更贴近用户需求。

然而给我的感觉是,这种生成的代码更像是一种一锤子买卖的外包工程,基本不具备维护性的。

其他生成代码的工具

据我了解,vercel 很早就在做代码自动生成,而且很早就推出了其服务,服务在此:https://v0.dev/

vercel demo
vercel demo

使用的方式就是和模型对话来生成代码,代码是 vercel 提供的服务,实时渲染给你看效果,而且,还可以基于效果继续进行对话,目前我没有触发到最大的对话条数,理论上可以一直对话。如下就是我生成的效果。从美观度上来看,还是挺不错的。

其自动生成的代码如下:

同样的弊端,也在 vercel 这套自动生成代码上有所体现:

我看了一个生成有列表相关的例子,这里通过浏览代码发现,他这里依旧是机械化的翻译了 dom 结构,而不是使用可维护性较高的方式来输出。

总结:个人感觉,这块目前用来做一些demo,或者做一些打一些底稿,还是很有助于效率提高的。对于screenshot-to-code不要认为他能够直接可以将别人web 给直接复刻了,然后就轻松拿来运营,至少离这里还差太远太远的距离了,如后端逻辑呢?网站的性能呢?目前基本上等同于对于 HTML 点击右键,保存网页。对于 vercel 的服务,可以用来做开发提效,让它生成一些代码,然后从中获取一些灵感或者手动提取可复用组件。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
1 条评论
热度
最新
作者提交了一个pr给到 https://github.com/abi/screenshot-to-code/pull/244
作者提交了一个pr给到 https://github.com/abi/screenshot-to-code/pull/244
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
牛逼!50.3K Star!一个自动将屏幕截图转换为代码(HTML、VUE、React)的开源工具!
在当今快节奏的软件开发环境中,设计师与开发者之间的协同工作显得尤为重要。然而,理解并准确实现设计稿的意图常常需要耗费大量的时间和沟通成本。为此,开源社区中出现了一个引人注目的项目——screenshot-to-code,它利用AI人工智能技术(机器学习算法和视觉分析技术),将屏幕截图自动转换为前端代码,为设计师和开发者之间的合作开辟了新的可能性。
测试开发技术
2024/05/28
3.1K0
牛逼!50.3K Star!一个自动将屏幕截图转换为代码(HTML、VUE、React)的开源工具!
Star 17.3k!这个截屏项目火了!给它一张屏幕截图,即可一键克隆网页!
你敢信,只凭借着一张屏幕截图即可转换生成 HTML/Tailwind CSS 代码。可以算得上是前端工程师的福音。它就是 screenshot-to-code。
Python兴趣圈
2023/11/24
2.5K0
Star 17.3k!这个截屏项目火了!给它一张屏幕截图,即可一键克隆网页!
牛逼!50.3K Star!一个自动将屏幕截图转换为代码的开源工具
在当今快节奏的软件开发环境中,设计师与开发者之间的协同工作显得尤为重要。然而,理解并准确实现设计稿的意图常常需要耗费大量的时间和沟通成本。为此,开源社区中出现了一个引人注目的项目——screenshot-to-code,它利用AI人工智能技术(机器学习算法和视觉分析技术),将屏幕截图自动转换为前端代码,为设计师和开发者之间的合作开辟了新的可能性。
测试开发技术
2024/05/24
9270
完蛋,GitHub 70000+ star,我把你(AI)当朋友,你却要代替我,前端同学这下彻底蹦不住了,真的不留一点活路!!!
嗨,我是小华同学,专注解锁高效工作与前沿AI工具!每日精选开源技术、实战技巧,助你省时50%、领先他人一步。👉免费订阅,与10万+技术人共享升级秘籍!
小华同学ai
2025/08/08
1660
完蛋,GitHub 70000+ star,我把你(AI)当朋友,你却要代替我,前端同学这下彻底蹦不住了,真的不留一点活路!!!
【每日精选时刻】一个 url 就把人家网站克隆了?入行15年,我还是觉得编程很难;快速部署FastGPT私人助理
大家吼,我是你们的朋友煎饼狗子——喜欢在社区发掘有趣的作品和作者。【每日精选时刻】是我为大家精心打造的栏目,在这里,你可以看到煎饼为你携回的来自社区各领域的新鲜出彩作品。点此一键订阅【每日精选时刻】专栏,吃瓜新鲜作品不迷路! *当然,你也可以在本篇文章,评论区自荐/推荐他人优秀作品(标题+链接+推荐理由),增加文章入选的概率哟~
社区好文捕手-煎饼狗子
2024/03/06
7532
27.7K Star开源神器,前端开发要危险了?
开源日记
2023/12/13
3240
27.7K Star开源神器,前端开发要危险了?
根据图片生成前端代码:人工智能助你释放效能 | 开源日报 No.98
PHP 是一种流行的通用脚本语言,特别适合 Web 开发。快速、灵活和实用,PHP 支持从博客到世界上最受欢迎的网站等各种应用。PHP 遵循 PHP 许可证 v3.01 发布。
小柒
2023/11/30
1.5K0
根据图片生成前端代码:人工智能助你释放效能 | 开源日报 No.98
这些新项目一定不要错过「GitHub 热点速览」
本周 GitHub 热点上榜的项目有不少的新面孔,比如搞电子商务的 eShop,还有处理表数据的 onetable。还有用来方便处理数据同步问题的 loro,以及网易新开源的 tts 项目 EmotiVoice。
HelloGitHub
2023/11/20
5340
这些新项目一定不要错过「GitHub 热点速览」
ChatGPT引领你掌握网站创建的秘诀!从0开始,轻松打造自己的个性化网站!
prompt:Create a complete landing page for a start up company using HTML
JavaEdge
2023/07/21
5980
ChatGPT引领你掌握网站创建的秘诀!从0开始,轻松打造自己的个性化网站!
强大的AI网站推荐(第二集)—— V0.dev
V0.dev 是一款由 Vercel 团队推出的基于 AI 技术的用户界面(UI)代码生成工具,旨在通过自然语言处理(NLP)和深度学习算法,将简单的文本提示快速转换为高质量的 React 代码。它专注于前端开发领域,能够显著简化开发流程,提高开发效率,帮助前端开发者、UI/UX 设计师和产品经理更高效地协同工作。
LucianaiB
2025/03/21
7280
强大的AI网站推荐(第二集)—— V0.dev
《HelloGitHub》第 92 期
这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣!
HelloGitHub
2023/11/28
3390
《HelloGitHub》第 92 期
ChatGPT全面精通-自动化办公/GPTs商店/AI绘画/提示词|果fx
GPT 4.0、代码解释器扩展和DallE3绘画的结合,为用户提供了强大的创作工具。GPT 4.0不仅能够进行自然语言处理,还能通过代码解释器进行数据分析和可视化。而DallE3作为OpenAI的最新文生图工具,已经升级到版本3,相比之前的版本,其画图能力有了显著增强。DallE3能够理解更多的细微差别和细节,使得用户可以将自己的想法转化为非常准确的图像。
sou百课优
2024/11/08
1850
微软Copilot大会员来了:每月20刀,人人都能用
去年 9 月,微软宣布了大模型 Copilot 能力加入 Office 和 Windows 11 的新计划。今天,该能力终于覆盖到了全体用户。
机器之心
2024/01/17
6980
微软Copilot大会员来了:每月20刀,人人都能用
后GPT书:从GPT-3开始,续写Transformer庞大家族系谱
机器之心分析师网络 作者:王子嘉 编辑:H4O 一文带你了解Transformer 大家族。 最近,大语言模型军备战争占据了朋友圈的大部分篇幅,关于这些模型能做什么和有什么商业价值,已经有很多文章探讨。然而,作为一个在人工智能领域浸淫多年的小小研究员,我更关注的是这场军备竞赛背后的技术原理,以及这些模型是如何工程化并造福人类的。相比于看这些模型怎样赚钱和工程化以便为更多人带来好处,我更想探索的是这个现象背后的原因,以及在 AI 取代人类之前,我们这些研究员还能为实现 “被 AI 取代然后光荣退休” 做些什么
机器之心
2023/04/21
4350
后GPT书:从GPT-3开始,续写Transformer庞大家族系谱
【GitHub 周热点速览】第六期
1、Ryujinx - 实验性的Nintendo Switch模拟器,使用 C# 编写
司夜
2024/03/11
2770
【GitHub 周热点速览】第六期
GPT-4 Vision | 指北教程
GPT-4V 于 2022 年接受训练,具有独特的理解图像的能力,而不仅仅是识别物体。它查看来自互联网和其他来源的大量图像,类似于在阅读标题时翻阅巨大的相册。它理解上下文、细微差别和微妙之处,使其能够像我们一样看待世界,但具有机器的计算能力。
iResearch666
2023/12/15
2.6K0
GPT-4 Vision | 指北教程
DALL-E3 | (2)原理
早起版本中先测试,分析了这些部署所产生的数据,以进一步改进 DALL-E 3 在风险领域的行为,如公众人物世代、人口偏见和sexual内容。我们发现,在试验中,包含人物描写的图片主要倾向于白人、年轻人和女性。为此,我们调整了 ChatGPT 的的用户提示转换,以指定更多样化的人物描述。
iResearch666
2023/10/23
7380
DALL-E3 | (2)原理
在Polygon网络上创建一个全栈NFT市场
图片来源: shykhman[2]
Tiny熊
2022/05/25
1.6K0
在Polygon网络上创建一个全栈NFT市场
CodeBuddy IDE真的比cursor强太多了!
“老板让我做个宠物电商首页,但我只会写Hello World!”——别慌,CodeBuddy IDE 来了! 它就像你的 AI全栈助手,只需输入一句需求,就能自动生成 HTML、CSS、JavaScript,甚至还能帮你适配手机和电脑端。 今天,我们就用 5分钟 完成一个宠物电商首页,看看AI如何改变传统开发方式!
一只牛博
2025/08/05
6741
CodeBuddy IDE真的比cursor强太多了!
【机器学习】自然语言处理的新前沿:GPT-4与Beyond
这些局限性和挑战为NLP领域的进一步研究指明了方向,激励了Beyond GPT-4技术的探索和发展。接下来,我们将详细探讨这些前沿技术及其应用。
哈__
2024/06/28
2480
【机器学习】自然语言处理的新前沿:GPT-4与Beyond
推荐阅读
相关推荐
牛逼!50.3K Star!一个自动将屏幕截图转换为代码(HTML、VUE、React)的开源工具!
更多 >
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档