"当爬虫技术邂逅语义提示:传统编码与AI智慧的火花碰撞"

何为AIGC

AIGC,即人工智能生成内容,是指利用机器学习、深度学习等人工智能技术自动生成文本、图像、音频、视频等多种形式的内容创作过程。这一技术通过算法模型学习现有数据模式,创造出新颖且往往具有特定风格或功能的作品,正逐步变革内容创作与传媒行业。

AIGC与程序员的碰撞

AIGC(AIGenerated Content,人工智能生成内容)的发展正与程序员群体产生多维度的碰撞。首先,它改变了程序员的工作内容,从传统的编码任务扩展到设计和优化AI模型,参与创意内容的算法生成。其次,AIGC技术提升了开发效率,自动化代码生成、智能调试等工具让程序员能更聚焦于逻辑设计与问题解决。同时,这也带来了挑战,要求程序员掌握机器学习、大数据处理等新技能。此外,AIGC引发的伦理、版权及隐私问题,促使程序员在技术创新中纳入伦理考量,确保技术向善。总的来说,AIGC推动了程序员角色的进化,既作为技术实现者,也是伦理守护者,促进了技术与人文的融合。

为何需要掌握AIGC

程序员掌握AIGC(人工智能生成内容)技术,不仅能够拓宽技术视野,还能显著提升工作效率与创新能力,以下是几个关键理由:

首先,AIGC技术是数字化转型的重要驱动力。随着AI技术的发展,自动生成高质量的内容已成为现实,这包括文字、图像、音频乃至视频等多种形式。程序员掌握这一技能,能够为企业或个人项目注入新的活力,创造更具吸引力和个性化的内容产品,从而在竞争激烈的市场中脱颖而出。

其次,提升内容生产的效率与质量。传统内容创作依赖人力,耗时且成本较高。AIGC能够基于算法快速生成大量内容,满足互联网时代对内容的海量需求。程序员通过编程指导AI学习特定风格和规则,自动化生成内容,不仅速度快,还能保持风格一致性,大大减轻创意团队的压力。

最后,面对未来,AIGC技术将是人机协作的新常态。程序员作为数字世界的构建者,掌握这项技术意味着能在即将到来的智能内容时代中占据先机,不仅能够设计和优化AI创作工具,还能参与到制定相关标准与伦理规范的讨论中,引领技术向善发展。

综上所述,程序员掌握AIGC技术,不仅能紧跟技术前沿,提升个人竞争力,更能为企业和社会带来创新与效率的双重飞跃,是适应未来数字内容生态发展的必然要求。

以爬虫为例展现AIGC的魅力

现在我们需要从豆瓣电影网站拿到排行榜前五的电影信息(电影名(name),封面链接(picture),简介(info),评分(score),评论人数(commentsNumber))

传统编码

  1. 初始化环境

    设置项目:创建项目文件夹,安装Node.js环境,初始化npm/yarn。

  2. 依赖安装库

    引入爬虫库: 通过npm安装如axiossuperagent请求库获取网页,cheercheerio解析内容。

  3. 编写爬虫脚本

    定义主函数:编写JavaScript文件,使用异步发送HTTP请求到目标网址,获取HTML。

  4. 解析内容

    提取数据:利用DOM操作或正则表达式、CSS选择器等方法从HTML中提取所需数据。

  5. 调试

    处理结果:将提取的数据存储至文件(如JSON、CSV)、数据库(MySQL/MongoDB)或直接打印输出。

代码如下:

javascript 复制代码
import { createCrawl } from 'x-crawl' // 创建爬虫

// 创建爬虫应用
const crawlApp = createCrawl() // 

// crawlPage 用于爬取页面
crawlApp.crawlPage('https://movie.douban.com/chart').then(async (res) => {
   
  const { page, browser } = res.data
  
  // 等待元素出现在页面中
  await page.waitForSelector('#wrapper #content .article')
  const filmHandleList = await page.$$('#wrapper #content .article table')
  const pendingTask = []
  for (const filmHandle of filmHandleList) {
    // 封面链接(picture)
    const picturePending = filmHandle.$eval('td img', (img) => img.src)
    // console.log(picturePending, '////')
    // 电影名(name)
    const namePending = filmHandle.$eval(
      'td:nth-child(2) a',
      (el) => el.innerText.split(' / ')[0]
    )
    // 简介(info)
    const infoPending = filmHandle.$eval(
      'td:nth-child(2) .pl',
      (el) => el.textContent
    )
    // 评分(score)
    // const scorePending = filmHandle.$eval(
    //   'td:nth-child(2) .star .rating_nums',
    //   (el) => el.textContent
    // )
    // 评论人数(commentsNumber)
    const commentsNumberPending = filmHandle.$eval(
     'td:nth-child(2) .star .pl',
      (el) => el.textContent?.replace(/\(|\)/g, '')
    ) 
    pendingTask.push([
     namePending,
     picturePending,
     infoPending,
    //   scorePending,
     commentsNumberPending
    ])
  }
  const filmInfoResult = []
  let i = 0
  for (const item of pendingTask) {
    Promise.all(item).then((res) => {
      // filmInfo 是一个电影信息对象,顺序在前面就决定好了
      const filmInfo = [
        'name',
        'picture',
        'info',
        // 'score',
        'commentsNumber'
      ].reduce((pre, key, i) => {
       pre[key] = res[i]
        return pre
      }, {})
      // 保存每个电影信息
      filmInfoResult.push(filmInfo)
      // 最后一次的处理
      if (pendingTask.length === ++i) {
        browser.close()
        // 整理,根据数量决定是多还是单
        const filmResult = {
          element: filmInfoResult,
          type: filmInfoResult.length > 1 ? 'multiple' : 'single'
        }
        console.log(filmResult)
      }
    })
  }
})

AIGC编程

首先,在网页获取需要的信息模块的html代码,交予AI(喂数据),然后对代码基于定义,最后返回需要的数据。

本次以使用通义千问为工具

如图提交代码并给予定义: 这是一个电影列表的html片段,需要获取需要的电影名(name),封面链接(picture),简介(info),评分(score),评论人数(commentsNumber)。请使用括号的单词作为属性名,以JSON对象数组的格式返回

二者相比,效果很明显,传统编程步骤繁琐、代码量多,而AIGC操作简单,不需要一句代码。

总结

AIGC的出现使得50%的编程流程不再需要了。如今的编程可将生成式的文字、图片、视频等任务交给AIGC,通过openai\通义千问等sdk提供接口,其余的基于冯诺依曼、非AIGC的任务由传统编程流程完成。传统编码与AI智慧的火花碰撞简直就是给到程序员一波红利。

相关推荐
夏沫的梦13 小时前
生成式AI对产业的影响与冲击
人工智能·aigc
敲上瘾20 小时前
操作系统的理解
linux·运维·服务器·c++·大模型·操作系统·aigc
想成为高手4991 天前
生成式AI在教育技术中的应用:变革与创新
人工智能·aigc
z千鑫2 天前
【人工智能】PyTorch、TensorFlow 和 Keras 全面解析与对比:深度学习框架的终极指南
人工智能·pytorch·深度学习·aigc·tensorflow·keras·codemoss
程序员X小鹿2 天前
AI视频自动剪辑神器!点赞上万的影视剧片段,一键全自动剪辑,效率提升80%!(附保姆级教程)
aigc
学习前端的小z2 天前
【AIGC】如何准确引导ChatGPT,实现精细化GPTs指令生成
人工智能·gpt·chatgpt·aigc
刘悦的技术博客2 天前
MagicQuill,AI动态图像元素修改,AI绘图,需要40G的本地硬盘空间,12G显存可玩,Win11本地部署
ai·aigc·python3.11
xindoo3 天前
如何用GPT-4o解读视频
aigc·gpt-3·音视频
起名字真南3 天前
【C++】深入理解 C++ 中的继承进阶:多继承、菱形继承及其解决方案
java·jvm·c++·chatgpt·aigc
Jartto3 天前
2025年AI革命:斯坦福李飞飞教授揭秘多模态智能体的未来
aigc