fix: ProductHunt Today (#5140)
This commit is contained in:
parent
9fb68e77f5
commit
065ddbfd07
|
|
@ -1,6 +1,5 @@
|
|||
const got = require('@/utils/got');
|
||||
const jsdom = require('jsdom');
|
||||
const { JSDOM } = jsdom;
|
||||
const { JSDOM } = require('jsdom');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const PROVINCE = ctx.params.province || '国内';
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
const got = require('@/utils/got');
|
||||
const jsdom = require('jsdom');
|
||||
const { JSDOM } = jsdom;
|
||||
const { JSDOM } = require('jsdom');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const response = await got({
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
const cheerio = require('cheerio');
|
||||
const got = require('@/utils/got');
|
||||
const url = require('url');
|
||||
const jsdom = require('jsdom');
|
||||
const { JSDOM } = jsdom;
|
||||
const { JSDOM } = require('jsdom');
|
||||
|
||||
const ProcessVideo = (content) => {
|
||||
content('div.video').each((i, v) => {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
const got = require('@/utils/got');
|
||||
const cheerio = require('cheerio');
|
||||
const jsdom = require('jsdom');
|
||||
const { JSDOM } = jsdom;
|
||||
const { JSDOM } = require('jsdom');
|
||||
|
||||
async function nuxtReader(data) {
|
||||
let nuxt = {};
|
||||
|
|
|
|||
|
|
@ -1,24 +1,24 @@
|
|||
const got = require('@/utils/got');
|
||||
const cheerio = require('cheerio');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const response = await got.get('https://www.producthunt.com/');
|
||||
|
||||
const $ = cheerio.load(response.data);
|
||||
const data = JSON.parse(response.data.match(/(?<=window\.__APOLLO_STATE__ =)(.*?)(?=;<\/script>)/)[0]);
|
||||
|
||||
const list = Object.values(data).filter((o) => o.__typename === 'Post');
|
||||
|
||||
const list = $('ul[class^="postsList"] li');
|
||||
ctx.state.data = {
|
||||
title: 'Product Hunt Today Popular',
|
||||
link: 'https://www.producthunt.com/',
|
||||
item: list
|
||||
.map((i, item) => {
|
||||
const itemDom = $(item);
|
||||
return {
|
||||
title: itemDom.find('h3').text(),
|
||||
description: `${itemDom.find('h3 + p').text()}<br><img src="${itemDom.find('h3').attr('src')}">`,
|
||||
link: 'https://www.producthunt.com' + itemDom.find('a').attr('href'),
|
||||
};
|
||||
})
|
||||
.get(),
|
||||
item: list.map((l) => {
|
||||
const img = `https://ph-files.imgix.net/${data[l.thumbnail.id].image_uuid}?auto=format&auto=compress&codec=mozjpeg&cs=strip&w=150&h=150&fit=crop`;
|
||||
|
||||
return {
|
||||
title: l.name,
|
||||
description: `${l.tagline}<br><img src="${img}">`,
|
||||
link: 'https://www.producthunt.com/post/' + l.slug,
|
||||
pubDate: new Date(l.updated_at),
|
||||
};
|
||||
}),
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
const got = require('@/utils/got');
|
||||
const jsdom = require('jsdom');
|
||||
const { JSDOM } = jsdom;
|
||||
const { JSDOM } = require('jsdom');
|
||||
|
||||
async function nuxtReader(data) {
|
||||
let nuxt = {};
|
||||
|
|
|
|||
Loading…
Reference in New Issue