这是一个使用ChatGPT的项目。
原始的目的是,女儿很喜欢恐龙,她对各种恐龙的名字如数家珍。
于是我让她列出了她所知道的恐龙名称(当然有参考书)。
le plateosaure,
le cœlophysis,
le brachiosaure,
le diplodocus,
le tyrannosaure,
le giganotosaure,
le quetzacoatlus,
le pteranodon,
le liopleurodon
……
但是这样一个法语的列表,我是看不懂的。
于是我要求ChatGPT将它们翻译成英语、中文,加入定冠词并规范了大小写:
The Plateosaurus 板龙
The Coelophysis 腔骨龙
The Brachiosaurus 雷龙
The Diplodocus 梁龙
The Tyrannosaurus 霸王龙
The Giganotosaurus 巨大食肉龙
The Quetzalcoatlus 羽蛇神龙
The Pteranodon 翼手龙
……
再同样格式列出其他20个比较知名的远古生物
The Megalodon 巨齿鲨
The Smilodon 刀齿虎
The Woolly Mammoth 毛象
The Saber-toothed Tiger 剑齿虎
The Dunkleosteus 邓氏鱼
The Mosasaurus 摩莎龙
……
最后我让它用JSON的格式将以上内容整理出来,并加上一小段中文的说明(如果要其他语言也可以以后再改)
[
{
"en": "The Plateosaurus",
"zh": "板龙",
"info": "早期的植食性恐龙",
"fr": "Le Plateosaure"
},
{
"en": "The Coelophysis",
"zh": "腔骨龙",
"info": "早期的肉食性恐龙",
"fr": "Le Coelophysis"
},
{
"en": "The Brachiosaurus",
"zh": "雷龙",
"info": "大型的植食性恐龙",
"fr": "Le Brachiosaure"
}……
最后,我通过描述需求,让它帮我写了一个简单的网页代码,除了列出图片和名称之外,再将三个名称链接到各自语言的Wikipedia页面(假设都能找到):
请写一个单页面的解析网页,以内嵌js解释以上json内容,网页内嵌CSS3,以flex-box样式的div为容器,div标签为单元格标签; a为每个名称字段的标签,标签指向相应语言和相应动物的wikipedia链接。info用span标签。再在每个单元格里加入一个从免费图库引用的图片。
起初它写的代码有一点小问题,但在我向它提出之后,很快就修正了过来。然后我手动更改了一点样式,最终的代码有点长,我就不在这里粘贴了,但是完整的对话记录和所有代码都可以在这个链接中找到:
https://chat.openai.com/share/40f1e3da-187a-4bef-9150-f93ca34046f4
经过我修改了一点样式之后的页面是这样的:

现在所剩的问题就是图片了,网页端的ChatGPT无法完成这个工作,我只能求助于微软必应。
但实际结果证明,必应完全在胡说八道,浪费了我的时间……
于是后面的配图工作只能依靠人力,好在Wikipedia中有各类古生物的配图,直接从刚刚生成的页面里链接过去就可以找到。
我又另外去z站下载了一本电子书,以便找到更好的图片内容:

顺便,请ChatGPT教给我写一段Python,从PDF中获取所有的图片。
起初它并不能很好地理解我的意图,写了一段将PDF每页导出成图片的程序,而我需要的却是Extract。
于是我自行搜索了一下,找到一个叫PyMuPDF的组件,再指名请ChatGPT编写,于是就有了下面这段,居然极其简单(而我居然还去搜索并考虑过许多收费转换软件)!
#install: pip install PyMuPDF
import fitz
import io
import os
from PIL import Image
pdf_path = "book.pdf"
output_folder = "pic"
if not os.path.exists(output_folder):
os.makedirs(output_folder)
pdf_doc = fitz.open(pdf_path)
for page_num in range(len(pdf_doc)):
page = pdf_doc[page_num]
image_list = page.get_images()
for image_index, img in enumerate(image_list):
xref = img[0]
base_image = pdf_doc.extract_image(xref)
image_data = base_image["image"]
image_ext = base_image["ext"]
image_path = os.path.join(output_folder, f"image{page_num+1}_{image_index+1}.{image_ext}")
with open(image_path, "wb") as f:
f.write(image_data)
pdf_doc.close()
只要运行这个python脚本,一本PDF电子书中的所有图片就都被导出了。

由于还需要一些拼接和修改,这里先放一放。
需要声明的是,本文讲述的方法仅供个人学习娱乐,请勿用于盗版意图。
经过最终的修改,现在的页面是这个样子的:

至于最终网页,由于我还没有把所有图片填完,另外还需要做一些调整,就先不上传放出了,稍后会放在本站的姊妹站CATxPAPA上。
要完全学习本文的应用,你可能要了解一些基础的网页和编程知识,但真的只是最基础的知识就够了,从小白开始估计一天甚至几个小时之内就能学会。
绝大多数的工作还是由AI完成的。
这里只是简单地记录一下,仅供启发。