From 8009c3197e363d95f5fee0507a6565d15b8d7e57 Mon Sep 17 00:00:00 2001 From: haiyangcui Date: Sun, 30 Aug 2020 12:09:23 +0200 Subject: [PATCH] =?UTF-8?q?=E6=AF=94=E8=BE=83=E5=A4=B4=E4=B8=A4=E4=B8=AA?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Detail.vue | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/src/components/Detail.vue b/src/components/Detail.vue index 084549b..c6546d5 100644 --- a/src/components/Detail.vue +++ b/src/components/Detail.vue @@ -198,17 +198,20 @@ export default { const name = this.detail.info.name.trim() // 豆瓣搜索链接 var doubanSearchLink = 'https://www.douban.com/search?q=' + name + var link = doubanSearchLink axios.get(doubanSearchLink).then(res => { const $ = cheerio.load(res.data) - // 得到豆瓣搜索的第一条结果 - var nameInDouban = $('div.result').first().find('div>div>h3>a').first() - // 如果第一条结果就是该影片,打开该链接,否则打开搜索页面 - if (name === nameInDouban.text().trim()) { - var link = nameInDouban.attr('href') - open(link) + // 比较第一和第二豆瓣搜索结果, 如果名字相符, 就打开该链接,否则打开搜索页面 + var nameInDouban = $($('div.result')[0]).find('div>div>h3>a').first() + if (name.replace(/\s/g, '') === nameInDouban.text().replace(/\s/g, '')) { + link = nameInDouban.attr('href') } else { - open(doubanSearchLink) + nameInDouban = $($('div.result')[1]).find('div>div>h3>a').first() + if (name.replace(/\s/g, '') === nameInDouban.text().replace(/\s/g, '')) { + link = nameInDouban.attr('href') + } } + open(link) }) }, getDoubanRate () { @@ -219,11 +222,19 @@ export default { var doubanSearchLink = 'https://www.douban.com/search?q=' + name axios.get(doubanSearchLink).then(res => { const $ = cheerio.load(res.data) - // 得到豆瓣搜索的第一条结果 - var nameInDouban = $('div.result').first().find('div>div>h3>a').first() - // 如果第一条结果就是该影片,打开该链接获取评分 - if (name === nameInDouban.text().trim()) { - var link = nameInDouban.attr('href') + // 比较第一和第二给豆瓣搜索结果, 看名字是否相符 + var link = '' + var nameInDouban = $($('div.result')[0]).find('div>div>h3>a').first() + if (name.replace(/\s/g, '') === nameInDouban.text().replace(/\s/g, '')) { + link = nameInDouban.attr('href') + } else { + nameInDouban = $($('div.result')[1]).find('div>div>h3>a').first() + if (name.replace(/\s/g, '') === nameInDouban.text().replace(/\s/g, '')) { + link = nameInDouban.attr('href') + } + } + // 如果找到链接,就打开该链接获取评分 + if (link) { axios.get(link).then(response => { const parsedHtml = cheerio.load(response.data) var rating = parsedHtml('body').find('#interest_sectl').first().find('strong').first()