快速写一个Node脚本

227 阅读1分钟

前言

  1. 创建项目文件夹: 在你的计算机上选择一个合适的位置,创建一个新的文件夹用于你的项目。
  2. 初始化 npm 项目: 在命令行中,进入项目文件夹,并运行以下命令:

npm init -y

这将生成一个 package.json 文件,其中包含了你项目的基本配置信息。

  1. 安装 Puppeteer: 在命令行中运行以下命令来安装 puppeteer

npm install puppeteer

这将下载并安装 Puppeteer 模块以及它的依赖

  1. 创建你的 JavaScript 文件: 创建一个 JavaScript 文件,例如 searchMovie.js,并把 Puppeteer 脚本写入其中
  2. 运行脚本: 最后,在命令行中运行你的 JavaScript 文件:

node searchMovie.js

确保你的脚本和 package.json 文件在同一目录下,因为 npm 模块通常会安装在项目的 node_modules 目录中。

  1. searchMovie.js
const puppeteer = require('puppeteer');

async function searchMovieOnBaidu(movieTitle) {
  const browser = await puppeteer.launch({ headless: false });
  const page = await browser.newPage();

  // 打开百度搜索页面
  await page.goto('https://www.baidu.com');

  // 输入电影名称并触发搜索
  await page.type('#kw', movieTitle);
  await page.click('#su');

  // 等待搜索结果加载完成
  await page.waitForSelector('#content_left');

  // 获取搜索结果的标题和链接
  const results = await page.evaluate(() => {
    const resultNodes = document.querySelectorAll('#content_left h3.t');
    return Array.from(resultNodes).map(node => {
      const title = node.innerText.trim();
      const link = node.parentElement.href;
      return { title, link };
    });
  });

  // 打印搜索结果到控制台
  console.log('搜索结果:', results);

  // 关闭浏览器
  // await browser.close();
}

// 使用脚本搜索电影
searchMovieOnBaidu('三傻大闹宝莱坞');
```

请注意,`headless: false` 将使浏览器窗口可见。在实际使用中,你可能需要添加适当的延迟来等待搜索结果完全加载,以确保你能正确获取结果。`