UNPKG

hiphople-news

Version:
143 lines (118 loc) 4.87 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _regeneratorRuntime = require('@babel/runtime/regenerator'); var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator'); var cheerio = require('cheerio'); var constants = require('./lib/constants.js'); var crawl = require('./lib/crawl.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime); var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator); var cheerio__default = /*#__PURE__*/_interopDefaultLegacy(cheerio); var getURL = function getURL(type) { var url = ''; switch (type) { case 'world': url = constants.HIPHOPLE_NEWS_WORLD_URL; break; case 'korea': url = constants.HIPHOPLE_NEWS_KOREA_URL; break; } return url; }; var getLatestHiphopleNews = /*#__PURE__*/function () { var _ref = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(type) { var result; return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.prev = 0; _context.next = 3; return getHiphopleNews(type); case 3: result = _context.sent; if (result) { _context.next = 6; break; } return _context.abrupt("return", null); case 6: if (!(result.length > 0)) { _context.next = 8; break; } return _context.abrupt("return", result[0]); case 8: return _context.abrupt("return", null); case 11: _context.prev = 11; _context.t0 = _context["catch"](0); return _context.abrupt("return", null); case 14: case "end": return _context.stop(); } } }, _callee, null, [[0, 11]]); })); return function getLatestHiphopleNews(_x) { return _ref.apply(this, arguments); }; }(); var getHiphopleNews = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(type) { var url, body, $, newsList, result; return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.prev = 0; url = getURL(type); _context2.next = 4; return crawl.crawl(url); case 4: body = _context2.sent; $ = cheerio__default['default'].load(body, { xmlMode: true }); newsList = $('.clear.ab-webzine').find('.wz-item'); result = newsList.map(function (_, element) { var _$$find$attr; var inner = $(element).find('.wz-item-inner.clear.thumbnail-left'); var href = (_$$find$attr = $(element).find('.ab-link').attr('href')) === null || _$$find$attr === void 0 ? void 0 : _$$find$attr.toString(); var thumbnailWrapper = inner.find('.wz-item-thumbnail').find('.thumbwrap'); var contentsWrapper = inner.find('.wz-item-content'); var titleHeader = contentsWrapper.find('.wz-item-header'); var title = titleHeader.find('a').find('span.title').text(); var metaWrapper = inner.find('.wz-item-meta.oloi'); var date = metaWrapper.find('span.date').text(); var view = metaWrapper.find('span.view').children(); return { id: href === null || href === void 0 ? void 0 : href.split('/')[(href === null || href === void 0 ? void 0 : href.split('/').length) - 1], href: "".concat(url).concat(href), backgroundImage: thumbnailWrapper.children().css('background-image'), title: title, date: date, view: $(view[1]).text() }; }).toArray(); return _context2.abrupt("return", result); case 11: _context2.prev = 11; _context2.t0 = _context2["catch"](0); return _context2.abrupt("return", null); case 14: case "end": return _context2.stop(); } } }, _callee2, null, [[0, 11]]); })); return function getHiphopleNews(_x2) { return _ref2.apply(this, arguments); }; }(); exports.getHiphopleNews = getHiphopleNews; exports.getLatestHiphopleNews = getLatestHiphopleNews;