美文网首页
服务端通过request向豆瓣api请求详细数据

服务端通过request向豆瓣api请求详细数据

作者: noyanse | 来源:发表于2018-08-22 18:41 被阅读0次

    request的上层封装,用了原生的promise,对callback形式的request做了封装
    可以支持await直接调用,可以像豆瓣api发起一个服务端的请求,拿到这个就可以与之前的数据进行组装
    request-promise-nativerequest都要安装一下

    // http://api.douban.com/v2/movie/subject/1764796
    const rp = require('request-promise-native')
    
    async function fetchMovie(item) {
        const url = `http://api.douban.com/v2/movie/subject/${item.doubanId}`
        const res = await rp(url)
        return res
    }
    
    ;(async () => {
        //刚刚在movie.js中起了个子进程,拿到了爬到的数据
        let movies = [
            { doubanId: 26985127,
                title: '一出好戏',
                rate: 7.3,
                poster: 'https://img3.doubanio.com/view/photo/l_ratio_poster/public/p2529571873.jpg' 
            },
            { doubanId: 30215922,
                title: '花之屋',
                rate: 7.1,
                poster: 'https://img1.doubanio.com/view/photo/l_ratio_poster/public/p2531109949.jpg' 
            },
            { doubanId: 26426194,
                title: '巨齿鲨',
                rate: 6.1,
                poster: 'https://img3.doubanio.com/view/photo/l_ratio_poster/public/p2530572643.jpg' 
            }
        ]
        //遍历这个movies数组
        movies.map(async movie => {
            let movieData = await fetchMovie(movie)
            try {
                movieData = JSON.parse(movieData)
                console.log(movieData.summary)
            } catch (err){
                console.log(err)
            }
        })
    })()
    
    
    //转存到服务器上,不要商业使用,可能涉及到知识产权
    

    相关文章

      网友评论

          本文标题:服务端通过request向豆瓣api请求详细数据

          本文链接:https://www.haomeiwen.com/subject/jgnyiftx.html