"当爬虫技术邂逅语义提示:传统编码与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智慧的火花碰撞简直就是给到程序员一波红利。

相关推荐
春末的南方城市1 小时前
FLUX的ID保持项目也来了! 字节开源PuLID-FLUX-v0.9.0,开启一致性风格写真新纪元!
人工智能·计算机视觉·stable diffusion·aigc·图像生成
我算是程序猿5 小时前
用AI做电子萌宠,快速涨粉变现
人工智能·stable diffusion·aigc
哪 吒6 小时前
吊打ChatGPT4o!大学生如何用上原版O1辅助论文写作(附论文教程)
人工智能·ai·自然语言处理·chatgpt·aigc
AI绘画君9 小时前
Stable Diffusion绘画 | AI 图片智能扩充,超越PS扩图的AI扩图功能(附安装包)
人工智能·ai作画·stable diffusion·aigc·ai绘画·ai扩图
乔代码嘚12 小时前
AI2.0时代,普通小白如何通过AI月入30万
人工智能·stable diffusion·aigc
XiaoLiuLB13 小时前
ChatGPT Canvas:交互式对话编辑器
人工智能·自然语言处理·chatgpt·编辑器·aigc
学习前端的小z2 天前
【AIGC】ChatGPT提示词解析:如何打造个人IP、CSDN爆款技术文案与高效教案设计
人工智能·chatgpt·aigc
wgggfiy2 天前
chatgpt学术科研prompt模板有哪些?chatgpt的学术prompt有哪些?学术gpt,学术科研
论文阅读·人工智能·gpt·chatgpt·prompt·aigc
⊙月2 天前
CMU 10423 Generative AI:lec15(Scaling Laws 大规模语言模型的扩展法则)
人工智能·aigc
贪玩懒悦3 天前
用langchain+streamlit应用RAG实现个人知识库助手搭建
人工智能·ai·语言模型·langchain·aigc