本文实例讲述了nodejs制作小爬虫功能。分享给大家供大家参考,具体如下:
1 安装nodejs
2 安装需要模块
npm install request cheerio
3 新建js文件
4 引入
const request=require("request") const cheerio=require("cheerio")
5 利用request模块发送请求
request('http://news.dgut.edu.cn/dgut/xydt/news_list.shtml',function(err,res){ if(err) { console.log('请求出错'); } else { var $ = cheerio.load(res.body, {decodeEntities: false}); $('.listList').children('ul').children('li').each(function(){ //找到li元素对象然后通过each遍历 var newsTitle = $(this).children('a').text(); //得到<a>标签的文字 var newsTime= $(this).children('span').eq(1).text();//得到第二个<span>标签的文字 var newsUrl= "http://news.dgut.edu.cn"+$(this).children('a').attr('href');//得到<a>标签的href的值 item++; console.log("已爬取"+item+"条记录"); }); } });
一个小爬虫案例就完了
附上完整代码
request('http://news.dgut.edu.cn/dgut/xydt/news_list.shtml',function(err,res){ if(err) { console.log('请求出错'); } else { var $ = cheerio.load(res.body, {decodeEntities: false}); $('.listList').children('ul').children('li').each(function(){ //找到li元素对象然后通过each遍历 var newsTitle = $(this).children('a').text(); //得到<a>标签的文字 var newsTime= $(this).children('span').eq(1).text();//得到第二个<span>标签的文字 var newsUrl= "http://news.dgut.edu.cn"+$(this).children('a').attr('href');//得到<a>标签的href的值 item++; console.log("已爬取"+item+"条记录"); }); } });
下面的带数据库
const request=require("request") const cheerio=require("cheerio") const mysql=require('mysql') const db=mysql.createPool({host:'120.79.5554',user:'root',password:'root',database:'pachong'}); var item=0; request('http://news.dgut.edu.cn/dgut/xydt/news_list.shtml',function(err,res){ if(err) { console.log('请求出错'); } else { var $ = cheerio.load(res.body, {decodeEntities: false}); $('.listList').children('ul').children('li').each(function(){ //找到li元素对象然后通过each遍历 var newsTitle = $(this).children('a').text(); //得到<a>标签的文字 var newsTime= $(this).children('span').eq(1).text();//得到第二个<span>标签的文字 var newsUrl= "http://news.dgut.edu.cn"+$(this).children('a').attr('href');//得到<a>标签的href的值 console.log(newsTitle,newsTime,newsUrl) db.query(`INSERT INTO news (newsTitle, newsTime, newsUrl) VALUE('${newsTitle}', '${newsTime}','${newsUrl}')`,function(err,data){ if(err) { console.log("数据库连接错误"); } }) item++; console.log("已爬取"+item+"条记录"); }); } });
希望本文所述对大家node.js程序设计有所帮助。
本文向大家介绍NodeJS制作爬虫全过程(续),包括了NodeJS制作爬虫全过程(续)的使用技巧和注意事项,需要的朋友参考一下 书接上回,我们需要修改程序以达到连续抓取40个页面的内容。也就是说我们需要输出每篇文章的标题、链接、第一条评论、评论用户和论坛积分。 如图所示,$('.reply_author').eq(0).text().trim();得到的值即为正确的第一条评论的用户。 {<1>}
本文向大家介绍NodeJs实现简单的爬虫功能案例分析,包括了NodeJs实现简单的爬虫功能案例分析的使用技巧和注意事项,需要的朋友参考一下 1.爬虫:爬虫,是一种按照一定的规则,自动地抓取网页信息的程序或者脚本;利用NodeJS实现一个简单的爬虫案例,爬取Boss直聘网站的web前端相关的招聘信息,以广州地区为例; 2.脚本所用到的nodejs模块 express 用来搭建一个服务,将结果
本文向大家介绍python实现简单爬虫功能的示例,包括了python实现简单爬虫功能的示例的使用技巧和注意事项,需要的朋友参考一下 在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。 我们最常规的做法就是通过鼠标右键,选择另存为。但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样
本文向大家介绍nodejs制作爬虫实现批量下载图片,包括了nodejs制作爬虫实现批量下载图片的使用技巧和注意事项,需要的朋友参考一下 今天想获取一大批猫的图片,然后就在360流浪器搜索框中输入 猫 ,然后点击图片。就看到了一大波猫的图片: http://image.so.com/i?q=%E7%8... ,我在想啊,要是审查元素,一张张手动下载,多麻烦,所以打算写程序来实现。不写不知道,一写发现
本文向大家介绍node+express制作爬虫教程,包括了node+express制作爬虫教程的使用技巧和注意事项,需要的朋友参考一下 最近开始重新学习node.js,之前学的都忘了。所以准备重新学一下,那么,先从一个简单的爬虫开始吧。 什么是爬虫 百度百科的解释: 爬虫即网络爬虫,是一种自动获取网页内容的程序。是搜索引擎的重要组成部分,因此搜索引擎优化很大程度上就是针对爬虫而做出的优化。 通俗一
本文向大家介绍Python基于BeautifulSoup和requests实现的爬虫功能示例,包括了Python基于BeautifulSoup和requests实现的爬虫功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python基于BeautifulSoup和requests实现的爬虫功能。分享给大家供大家参考,具体如下: 爬取的目标网页:http://www.qianlima.