javascript - UnhandledPromiseRejectionWarning:错误:getaddrinfo ENOTFOUNDNestJS 中的错误
问题描述
我做了一个解析器来收集来自其他网站的新闻,现在我在尝试在我的 NestJS 后端项目中实现这个解析函数时遇到了错误。我需要做什么?也许问题是在使用本地服务器时尝试连接到其他网站?
import { Injectable } from '@nestjs/common';
import { Cron, CronExpression } from '@nestjs/schedule';
import { InjectRepository } from '@nestjs/typeorm';
import { TypeOrmCrudService } from '@nestjsx/crud-typeorm';
import { News } from './entity/news.entity';
@Injectable()
export class NewsService extends TypeOrmCrudService<News> {
private newsArray: News[];
constructor(@InjectRepository(News) newsRepository) {
super(newsRepository);
}
fillNewsArray(): void {
const axios = require('axios');
const cheerio = require('cheerio');
let newsArray: News[];
const parse = async () => {
const getHTML = async (url) => {
const { data } = await axios.get(url);
return cheerio.load(data);
};
const selector = await getHTML('https://livennov.ru/news/?PAGEN_2=1');
selector('div.b-section-item__body').each(async (i, element) => {
let object: News;
const title = selector(element).find('h3.b-section-item__title').text();
const date = selector(element).find('div.b-meta-item').text();
const url = `https://livennov.ru${selector(element).find('a').attr('href')}`;
const descURL = await getHTML(`https://livennov.ru${url}`);
descURL('h2').remove();
const imgUrl = `https://livennov.ru${descURL('.content-full-width').find('img').attr('data-src')}`;
const descr = descURL('div.b-news-detail-body').text();
object.headline = title;
object.description = descr;
object.imageUrl = imgUrl;
object.originalUrl = url;
object.dateTime = date;
object.type = 'sports';
console.log(object)
newsArray.push(object);
})
}
parse();
}
@Cron(CronExpression.EVERY_10_SECONDS)
async handleCron() {
}
}
解决方案
推荐阅读
- jquery - 使用 laravel jquery 存储多个动态输入字段
- javascript - 两个 Sum 令人困惑的错误
- r - RMarkdown:无法编织到 pdf
- python - 缩放和移动热图python
- python - 如何在整个脚本中发生 *any* 错误时捕获?
- java - 从 JPanel 调用函数
- azure-active-directory - Office.js:OfficeRuntime.auth.getAccessToken 成功获取令牌,但验证失败(“无法匹配密钥”)
- php - 如何为每个用户分配子域 - laravel
- wordpress - 如何在 2 台服务器上安装相同的 SSL 证书?
- twitter - 如何获取多个帐户的实时 Twitter 关注者数量(免费)?