1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > node.js+cheerio+axios实现爬虫爬取数据

node.js+cheerio+axios实现爬虫爬取数据

时间:2018-07-12 09:08:47

相关推荐

node.js+cheerio+axios实现爬虫爬取数据

1.安装axios,安装cheerio

npm i axios

npm i cheerio

2.分析网页结构,通过解析DOM来提取所需要的数据

如爬取1905电影网数据:

/vod/list/n_1/o3p1.html

1.通过$('.search-list').find('.pic-pack-outer')拿到每一栏数据,使用jq的each()方法去遍历

2.通过attr()方法和text()方法来处理自己所需要的数据,因为text()方法会默认拿到所匹配到的所有文本信息,需要通过.children().eq()去分解

const axios = require('axios')const cheerio = require("cheerio");async function getData() {let res = await axios.get('/vod/list/n_1/o3p1.html')const $ = cheerio.load(res.data)let movieList = [];$('.search-list').find('.pic-pack-outer').each(function (index, item) {const url = $(item).attr('href');const img = $(item).find('img').attr('src');const title = $(item).children().eq(1).text(); //.text()会拿到匹配到 下面所有文本const score = $(item).children().eq(2).text();const msg = $(item).children().eq(3).text();if(index!==0){movieList.push({ url, img, title, score, msg })}console.log(movieList)})}getData()

在扩展商店可以安装一个Code Runner插件,来运行node.js代码,运行之后,拿到了数据

3.若出现 axios报错问题可能是node版本过低,我用10.6的node会报axios错误问题安装一下高版本node即可解决

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。