nodejs实现拉钩网爬虫

概述

通过nodejs+mysql+cheerio+request实现拉钩网特定公司的所有招聘信息的抓取,并将抓取的信息保存到数据库中。抓取内容包括:薪酬福利,工作地,职位要求,工作性质等几乎所有的内容。对于nodejs实现爬虫不了解的同学可以看过来,代码中有详细的注释,通俗易懂。

详细

一、准备工作

1、安装最新版本的nodejs,其中npm会被自动安装

2、安装该项目需要的包

1
npm install cheerio jsdom mysql request -S

其中package.json中的内容为:

1
2
3
4
5
6
"dependencies": {
    "cheerio": "^1.0.0-rc.1",
    "jsdom": "^11.0.0",
    "mysql": "^2.13.0",
    "request": "^2.81.0"
  }

二、程序实现

1、程序实现的目录结构如下:

qqq.png

2、实现思路如下:

index.js:程序主文件,各种数据清洗工作,url构造在这个文件中完成

Job.js : 用于构建Job对象,有助于写入数据库

db.js:连接数据库并写入数据

url_construct.js:可以自己配置抓取那些公司的职位信息。如阿里巴巴,百度,腾讯等。部分代码如下:

1
2
3
4
5
6
7
const companyNames = ["网易","阿里巴巴","百度","腾讯","去哪儿","浪潮"];
const encodedCompanyNames = [];
//转化为urlencoded
for(let i=0;i<companyNames.length;i++){
  encodedCompanyNames.push(encodeURIComponent(companyNames[i]));
}
module.exports = encodedCompanyNames;

3、数据库设计截图

mysql.png

上面是本例子的数据库截图,其中id是主键,同时是自增的。

 

4、连接数据库注意点

下面的user和password的值是你安装数据库时候设置的,请自己修改

1
2
3
4
5
6
const pool = mysql.createPool({
  connectionLimit:10,
  database:TEST_DATABASE,
  user:"root",
  password:"root"
});

三、运行效果

首先cd到src目录下,然后简单的运行下面的命令就可以了:

1
node index.js

下面是数据库抓取的部分信息截图:

job.png

四、其他补充

如果你需要增加更多功能,可以在demo大师的"没有找到例子?"功能提出,我会增加例子,谢谢

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

posted on   demo例子集  阅读(230)  评论(0编辑  收藏  举报

(评论功能已被禁用)
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示