nodeJS爬取今日头条:新闻类型
最近总是看到一些爬虫,出于对技术的好奇,所以自己也尝试了一下,虽然短短几行代码,但是因为第一次不熟悉,也是煞费苦心,查了好久的资料啊,废话补多少直接上步骤.
一.nodeJS环境安装
此处省略500w字
二.安装模块
1.request模块发送用户请求 npm install request --save
2.cheerio模块用于解析html元素,用法类似jquery npm install cheerio --save
3.puppeteer模块 模拟JS动态生成的页面,安装时 Chromium插件建议手动下载之后放在puppeteer文件夹中
npm install puppeteer --save 取消Chromium插件安装 npm i --save puppeteer --ignore-scripts
上代码
let http = require('http'); let fs = require('fs'); let request = require('request'); let cheerio = require('cheerio'); let puppeteer = require('puppeteer'); let baseUrl = 'https://www.toutiao.com'; (async() => { const browser = await puppeteer.launch({ executablePath: '../node_modules/puppeteer/chrome/chrome.exe', //运行Chromium或Chrome可执行文件的路径 headless: true //是否运行在浏览器headless模式,true为不打开浏览器执行,默认为true }); const page = await browser.newPage(); await page.goto(baseUrl); let content = await page.$eval('html', el => el.innerHTML); let $ = cheerio.load(content.toString()); let typeArr = []; $('.channel').find('.channel-item').each(function(index, item) { let typeItem = {}; typeItem['code'] = index; typeItem['name'] = $(item).text(); typeArr.push(typeItem) }); console.log(typeArr); })();
既然选择了远方,便只顾风雨兼程
本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。
微信扫码关注
更新实时通知