在Debian上做爬虫开发,Node.js是个相当顺手的工具。具体怎么搭起来?下面一步步拆解,保证清晰好上手。

1. 安装Node.js
先解决环境问题。Debian系统上装Node.js,推荐用NodeSource的二进制分发库,版本随你挑,这里以14.x为例。
使用NodeSource安装Node.js
添加NodeSource库:打开终端,跑下面这条命令,把14.x版本的源加进去(想换其他版本,改一下URL里的版本号就行):
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -安装Node.js:接着执行这条,Node.js和npm一次性搞定:
sudo apt-get install -y nodejs验证安装:装完检查一下,跑下面两个命令,看到版本号就说明成了:
node -v npm -v
2. 创建一个新的Node.js项目
工作目录里建个新项目,名字随便起,比如叫my-crawler:
mkdir my-crawler
cd my-crawler
npm init -y
npm init -y会快速生成一个默认的package.json,省得手动填一堆信息。
3. 安装爬虫相关的库
发HTTP请求用axios(或者request,不过axios更现代),解析HTML用cheerio——这两个是爬虫黄金搭档。
安装axios和cheerio
npm install axios cheerio
装完就能在项目里直接require了。
4. 编写爬虫代码
新建一个index.js,把下面这段代码贴进去。这是一个最简示例:抓取目标网页的标题并打印出来。
const axios = require('axios');
const cheerio = require('cheerio');
async function crawl(url) {
try {
const response = await axios.get(url);
const html = response.data;
const $ = cheerio.load(html);
const title = $('title').text();
console.log(`Title of the page: ${title}`);
} catch (error) {
console.error(`Error fetching the page: ${error.message}`);
}
}
// 替换为你想要爬取的URL
crawl('https://example.com');
逻辑很直白:axios拿到页面HTML,cheerio解析DOM,然后提取标签里的文本。当然,实际爬虫要处理的东西多得多,这只是个起步。
5. 运行爬虫
终端里跑下面这条命令,就能看到效果:
node index.js
如果一切正常,控制台会输出那个页面的标题。
6. 处理更复杂的爬虫任务
真实场景往往没这么简单,你可能需要面对下面这些情况:
- 分页爬取:用循环加条件判断,一页一页翻过去,直到没有下一页为止。
- 异步请求:用
Promise.all或者async/await并行处理多个URL,能大幅提升效率。 - 反爬虫机制:设置合适的请求头(比如
User-Agent)、使用袋里IP、控制请求频率(加个延时),这些是常规操作。
每个点展开都能写一篇长文,但核心思路就这些——遇到具体问题再针对性解决。
7. 部署爬虫
要是想把爬虫长期挂在服务器上跑,可以用PM2这个进程管理工具,它能帮你自动重启、记录日志,省心不少:
npm install pm2 -g
pm2 start index.js --name my-crawler
跑完这条命令,爬虫就在后台默默工作了,哪怕终端关了也不影响。
总结
从装Node.js到写一个能跑起来的爬虫,再到应对复杂场景和部署,以上步骤基本覆盖了Debian上用Node.js做爬虫开发的全流程。实际项目里可以根据需求灵活扩展,比如加个数据库存数据、用Puppeteer处理动态页面,但底层逻辑还是这些。动手试试,遇到坑再回来翻翻这篇文章,应该能解决大部分问题。
