(三)nodejs爬虫教程,解析电影网站输出json:爬虫工具安装与封装调用示例

avatar

安装爬虫工具,推荐使用 cheerio request iconv-lite

  • cheerio 可以像使用jquery那样解析网页的工具
  • request 请求网页的工具
  • iconv-lite 转码的工具

安装

cd api-demo
yarn add cheerio request iconv-lite

封装

request请求一般要带上cookie,user-agent等信息,不能每次请求都带吧,所以这里对它封装一下

const request = require('request');
const iconv = require('iconv-lite');

module.exports = (url, method, encoding) => {
  return new Promise(function (resolve, reject) {
    request({
      url: url,
      method: method,
      encoding: null,
      // proxy: 'http://127.0.0.1:1087', //如果有代理服务器,可以在这配置
      headers: {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
      }
    }, (err, resp, body) => {
      if (err) {
        reject(err);
      } else {
        body = iconv.decode(body, encoding);
        resolve(body);
      }
    });
  });
}

调用

router.get('/', async (ctx, next) => {
  const body = await request('https://api.github.com/', 'get', 'utf-8');
  ctx.body = JSON.parse(body);
})

image

解析HTML

跟jquery解析html一样写法,后面实例里再介绍

0 条评论

目前还没有回答,快来帮帮TA吧!

添加一条评论 请尽量发布对他人有帮助的评论

登录后可发布评论

登录 | Github登录