当前位置: 首页 > article >正文

ChatGPT辅助编程,一次有益的尝试

 如果大家想学习PCIe,搜索网上的信息,大概率会看到chinaaet上Felix的PCIe扫盲系列的博文

Felix-PCIe扫盲

每次看这个系列博文的时候,我都在想有没有什么方法可以把这个系列的博文都保存到一个pdf文件中,这样方便阅读。于是有了下面使用ChatGPT进行辅助编程的内容:

我是使用知乎上的引用Felix博文网页为根开始工作的:

PCIe扫盲系列博文

下面的链接是我和ChatGPT对话的详细内容: 

Convert webpage to PDF.icon-default.png?t=N7T8https://chat.openai.com/share/812bae9d-76bb-4701-8379-cd200aa45ad0

生成的可用python代码如下: 

import requests
from bs4 import BeautifulSoup
import re
from urllib.parse import unquote
import pdfkit
from PyPDF2 import PdfMerger


url = "https://zhuanlan.zhihu.com/p/655702770"

# 发送GET请求并获取页面内容
response = requests.get(url)
html_content = response.text

# 使用BeautifulSoup解析HTML
soup = BeautifulSoup(html_content, 'html.parser')

# 提取所有的超链接
links = soup.find_all('a', href=True)
target_regex = re.compile(r'target=(.+)')

target_html = []

# 输出所有链接
for link in links:
    # 获取原始的 href 属性
    raw_href = link['href']

    # 使用 unquote 处理 URL 编码
    decoded_href = unquote(raw_href)

    match = target_regex.search(decoded_href)

    if match:
        target_content = match.group(1)
        print(target_content)
        target_html.append(target_content)

config = pdfkit.configuration(wkhtmltopdf='/usr/bin/wkhtmltopdf')

output_pdf_path = "output.pdf"

# Create a PDF merger object
pdf_merger = PdfMerger()

# Generate PDFs and add them to the merger
for i, target_url in enumerate(target_html):
    pdf_file_path = f"output_{i}.pdf"
    pdfkit.from_url(target_url, pdf_file_path, configuration=config)
    pdf_merger.append(pdf_file_path)

# Write the combined PDF to the output file
with open(output_pdf_path, 'wb') as output_pdf:
    pdf_merger.write(output_pdf)

print(f"Combined PDF saved to {output_pdf_path}")


http://www.kler.cn/a/229296.html

相关文章:

  • 代码随想录算法训练营第 8 天(字符串1)| 344.反转字符串 541. 反转字符串II 卡码网54.替换数字
  • 人工智能任务19-基于BERT、ELMO模型对诈骗信息文本进行识别与应用
  • C#,图论与图算法,任意一对节点之间最短距离的弗洛伊德·沃肖尔(Floyd Warshall)算法与源程序
  • 《AI创造力的边界与机器人技术的现实困境:一个双重视角的探讨》
  • 浅谈云计算15 | 存储可靠性技术(RAID)
  • 【Unity3D】【已解决】TextMeshPro无法显示中文的解决方法
  • 3dmatch-toolbox详细安装教程-Ubuntu14.04
  • Web APIs 2 事件
  • 解决“使用Edge浏览器每次鼠标点击会出现一个黑色边框”的问题
  • Spring Web Header 解析常见错误
  • opencv0014 索贝尔(sobel)算子
  • 如何在Termux中使用Hexo结合内网穿透工具实现远程访问本地博客站点
  • python实现rdbms和neo4j的转换
  • #Z0458. 树的中心2
  • 解决跨域问题8种方法,含网关、Nginx和SpringBoot~
  • 【数据结构与算法】之排序系列-20240205
  • 人工智能之大数定理和中心极限定理
  • Java中SQL注入的防范与解决方法
  • OpenCV 图像处理六(傅里叶变换、模板匹配与霍夫变换)
  • ubuntu22.04@laptop OpenCV Get Started: 000_hello_opencv
  • HomeAssistant系统添加HACS插件商店与远程控制家中智能家居
  • LeetCode、746. 使用最小花费爬楼梯【简单,动态规划 线性DP】
  • Webpack插件浅析
  • 用 Delphi 程序调用 Python 代码画曲线图 -- 数据来自 Delphi 程序
  • OpenHarmony开源鸿蒙开发之旅
  • python+flask人口普查数据的应用研究及实现django