开始之前请先确保自己安装了node . js环境,如果没有安装,大家可以到下载安装。
npm安装搞——save-dev
搞是一个轻量的,渐进式的ajax api,可读性好,学习曲线低,内部依赖nodejs原生的请求api,适用于nodejs环境下
npm安装好呀——save-dev
加油是nodejs的抓取页面模块,为服务器特别定制的,快速、灵活,实施的jQuery核心实现。适合各种Web爬虫程序。相当于node . js中的jQuery
//导入依赖包 const http=要求(“http”); const path=要求(“路径”); const url=要求(“url”); const fs=要求(fs); const搞=要求(“搞”); const加油=要求(“加油”);
搞 . get (" https://www.zhipin.com/job_detail/& # 63;城市=100010000,来源=10,查询=% E5 % 89% 8 d % E7%AB % AF”) 指标(最终(误差、响应)=祝辞{//获取页面文档数据 var内容=response.text;//加油也就是nodejs下的jQuery将整个文档包装成一个集合,定义一个变量美元接收 var=美元cheerio.load(内容);//定义一个空数组,用来接收数据 结果var=[];//分析文档结构先获取每个李再遍历里面的内容(此时每个李里面就存放着我们想要获取的数据) $("。工作列表li .job-primary”) . each((指数、价值)=祝辞{//地址和类型为一行显示,需要用到字符串截?/地址 让地址=$(价值);(.info-primary)定格().eq (1) . html ();//类型 让类型=$(价值);(" .info-company p ") . html ();//解码 地址=unescape (address.replace (x/g/和#,% u) .replace (/,/g)); 类型=unescape (type.replace (x/g/和#,% u) .replace (/,/g))//字符串截取 让addressArr=address.split (' & lt;电磁类=皏line祝辞& lt;/em>”); 让typeArr=type.split (' & lt;电磁类=皏line祝辞& lt;/em>”);//将获取的数据以对象的形式添加到数组中 result.push ({ 标题:$(价值);(. name .job-title)。text (), 货币:美元(价值);(. name r)。text (), 地址:addressArr, 公司:$(价值);(“.info-company“)。text (), 类型:typeArr, 位置:$(价值);(“.info-publis . name”)。text (), txImg: $(价值);(.info-publis img) .attr (" src "), 时间:$(价值);(" .info-publis p ")。text () });//控制台。日志(typeof(价值);美元(“.info-primary”)定格().eq (1) . html ()); });//将数组转换成字符串 结果=JSON.stringify(结果);//将数组输出到json文件里刷新目录即可看到当前文件夹多出一个boss.json文件(打开的老板。json文件,ctrl +全选之后ctrl + K,再按ctrl + F即可将json文件自动排版) fs.writeFile (“boss.json”,因此,“utf - 8”,(错误)=祝辞{//监听错误,如正常输出,则打印null 如果错误==null) { console.log(“恭喜您,数据爬取成功!请打开json文件,先按Ctrl + A,再按Ctrl + K,最后Ctrl + F格式化后查看json文件(仅限Visual Studio代码编辑器)”); } }); });>之前
以上所述是小编给大家介绍的Nodejs实现爬虫抓取数据,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
Nodejs实现爬虫抓取数据实例解析