首页 期权学习期权知识正文

nodeJS爬取今日头条:新闻类型

xiaojiucai 期权知识 2020-08-18 547 0

最近总是看到一些爬虫,出于对技术的好奇,所以自己也尝试了一下,虽然短短几行代码,但是因为第一次不熟悉,也是煞费苦心,查了好久的资料啊,废话补多少直接上步骤.

一.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/post/7159.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。