纳尼?可以用cursor干这?

492 阅读4分钟

随着技术的发展,利用人工智能辅助编程已经成为提高开发效率的重要手段。本文将介绍如何结合Qwen-coder模型Cursor AI代码生成工具来加速软件开发流程。特别是针对Qwen/Qwen2.5-Coder-32B-Instruct模型的应用场景及优势,并探讨通过代理机制将开发需求转化为高质量代码的实践。接下来我将展示如何利用Cursor实现零基础爬虫。

Cursor : Cursor - The AI Code Editor

1. 什么是cursor

Cursor 是一款旨在帮助开发者提高编码效率的智能代码编辑器。它结合了人工智能技术,能够自动完成代码、提供代码建议、进行错误检测和修复等功能,从而让编程变得更加高效和准确。主要有以下特点:

  • 集成开发环境(IDE)支持:可以与流行的IDEs(如VS Code, IntelliJ IDEA等)无缝集成,增强现有的开发体验。
  • 跨平台兼容性:支持Windows, macOS, Linux等多种操作系统,确保不同平台上的用户都能享受到一致的服务。
  • 团队协作:支持多人协作,允许多个开发者同时在同一文件上工作,并能实时看到彼此的更改。
  • 持续学习能力:通过分析用户的编码模式,Cursor可以不断学习并优化其推荐算法,以更好地适应每个用户的独特需求。

2. 配置cursor

  • 添加Qwen-coder模型

屏幕截图 2024-12-01 145411.png

屏幕截图 2024-12-01 145725.png

3. prompt工程

请帮我编写一个Node程序,去爬取微博的热榜。要求: 
1.使用 request-promise 和 cheerio 
2.目标网站:@https://tophub.today/n/KqndgxeLl9 
3.爬取表格中热榜的排名、标题、热度、链接、并保存到csv文件中 请一步步思考,你可以打开目标网站分析其网页结构,并编写代码

屏幕截图 2024-12-01 150332.png 就这样轻松地实现了爬虫

4. 代码分析

这段代码使用了 request-promisecheerio 库来抓取并解析网页内容,然后将解析后的数据保存到一个 CSV 文件中。具体来说,它从 tophub.today 抓取微博热搜榜的数据,并将其保存为 hot_list2.csv 文件。

4.1 依赖库

  • request-promise:用于发送 HTTP 请求。
  • cheerio:用于解析 HTML 字符串,类似于 jQuery 的语法。
  • csv-writer:用于生成 CSV 文件。

4.2 代码解析

  • 导入依赖
const request = require('request-promise');
const cheerio = require('cheerio');
const createCsvWriter = require('csv-writer').createObjectCsvWriter;
  • request-promise 用于发送 HTTP 请求并返回 Promise。

  • cheerio 用于解析 HTML 字符串。

  • csv-writer 用于创建和写入 CSV 文件。

  • 配置项

const HOT_URL = 'https://tophub.today/n/KqndgxeLl9';
  • HOT_URL 是要抓取的热榜页面 URL。

  • 发送请求并解析 HTML

request(HOT_URL)
    .then(html => {
        // 解析 HTML 得到热榜
        const $ = cheerio.load(html);
        const hotList = [];

        $('.jc table tr').each((index, element) => {
            const rank = $(element).find('td:nth-child(1)').text().trim();
            const title = $(element).find('td:nth-child(2)').text().trim();
            const heat = $(element).find('td:nth-child(3)').text().trim();
            const link = $(element).find('td:nth-child(2) a').attr('href').trim();

            hotList.push({
                rank,
                title,
                heat,
                link
            });
        });

        // 创建 CSV 写入器
        const csvWriter = createCsvWriter({
            path: 'hot_list2.csv',
            header: [
                { id: 'rank', title: '排序' },
                { id: 'title', title: '标题' },
                { id: 'heat', title: '热度' },
                { id: 'link', title: '链接' },
            ]
        });

        // 写入 CSV 文件
        csvWriter.writeRecords(hotList)
            .then(() => console.log('CSV file has been saved.'));
    });
  • 发送请求:使用 request-promise 发送 HTTP GET 请求到 HOT_URL,并获取 HTML 响应。
  • 解析 HTML:使用 cheerio 加载 HTML 字符串,并选择表格中的每一行(tr 元素)进行处理。
  • 提取数据:对于每一行,提取排名、标题、热度和链接信息,并存储在 hotList 数组中。
  • 创建 CSV 写入器:定义 CSV 文件的路径和列头。
  • 写入 CSV 文件:将 hotList 中的数据写入 CSV 文件,并在完成时输出一条消息。

4.3 详细步骤

  • 导入依赖库

    • 使用 require 导入 request-promisecheerio 和 csv-writer
  • 配置 URL

    • 定义要抓取的热榜页面 URL。
  • 发送 HTTP 请求

    • 使用 request-promise 发送 GET 请求,获取 HTML 响应。
  • 解析 HTML

    • 使用 cheerio 加载 HTML 字符串,选择表格中的每一行(tr 元素)。
    • 提取每行的排名、标题、热度和链接信息,并存储在 hotList 数组中。
  • 创建 CSV 写入器

    • 定义 CSV 文件的路径和列头。
  • 写入 CSV 文件

    • 将 hotList 中的数据写入 CSV 文件,并在完成时输出一条消息。

4.4 运行结果

代码执行后,会在当前目录下生成一个名为 hot_list2.csv 的文件,其中包含从 tophub.today 抓取的微博热搜榜数据。

屏幕截图 2024-12-01 151136.png

5. 总结

Cursor 作为一个智能代码编辑器,不仅提供了强大的代码辅助功能,还促进了更高效的开发流程。对于希望提升生产力和个人技能的开发者来说,Cursor 是一个非常有价值的工具。随着技术的进步,这类工具将会越来越重要,成为现代软件开发不可或缺的一部分。