review.controller.js 1.8 KB
Newer Older
1
2
3
4
5
import Review from '../models/Review.js'
import cheerio from "cheerio";
import express from 'express';
import request from 'request-promise'
import jschardet from 'jschardet'
baesangjune's avatar
review    
baesangjune committed
6
// import iconv from 'iconv'
7
import fs from 'fs'
baesangjune's avatar
review    
baesangjune committed
8
// const Iconv = iconv.Iconv
9
10
11
12
13
14

const signup = async (req, res) => {
    res.send("안녕하세요")
}

const search = async (req, res) => {
baesangjune's avatar
review    
baesangjune committed
15
16
17
18
    // console.log(req.params.search)
    // console.log("req", req)
    const url = "https://www.google.com/search?q=%ED%95%9C%EB%9D%BC%EC%82%B0%20site%3Atistory.com&oq=tistory&aqs=chrome..69i57j0l4j69i60l3.1746j0j4&sourceid=chrome&ie=UTF-8&ved=2ahUKEwis_bSFz4buAhWVdXAKHU0tBaoQ2wF6BAgIEAE&ei=T1D1X-yZD5XrwQPN2pTQCg"
// const url=
baesangjune's avatar
.    
baesangjune committed
19
    request(url)
baesangjune's avatar
review    
baesangjune committed
20
        // .then(anyToUtf8)
baesangjune's avatar
.    
baesangjune committed
21
22
        .then((html) => {
            // fs.writeFileSync("googlez.txt", '\ufeff' + html, { encoding: 'utf8' });
baesangjune's avatar
review    
baesangjune committed
23

baesangjune's avatar
.    
baesangjune committed
24
            let $ = cheerio.load(html, null, false);
25
26
27
28
29
            let places = []
            $('.kCrYT').each(function (i) {
                places[i] = {
                    title: $(this).find('h3').text(),
                    link: $(this).find('a').attr('href'),
baesangjune's avatar
review    
baesangjune committed
30
                    summary: $(this).find('.s3v9rd').find('.s3v9rd').text(),
31
32
                }
            })
baesangjune's avatar
review    
baesangjune committed
33
            console.log("places***********************************************",places)
baesangjune's avatar
.    
baesangjune committed
34
35
            res.send(places)
        })
baesangjune's avatar
review    
baesangjune committed
36
37
38
39
40
41
42
43
    // function anyToUtf8(str) {
    //     const { encoding } = jschardet.detect(str);
    //     console.log("source encoding = " + encoding);
    //     const iconv = new Iconv(encoding, "utf-8//translit//ignore");
    //     return iconv.convert(str).toString();
    // }


44
45
46
47
48
49
50
51
52
53
    // try {
    //     const newPlace = await new Place({
    //         name: req.params.search,
    //         address,
    //         img,

    //     })
    // }
}

baesangjune's avatar
.    
baesangjune committed
54
export default { signup, search }