scraper.js 1.08 KB
Newer Older
Kim, Chaerin's avatar
?    
Kim, Chaerin committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import axios from "axios";
import cheerio from "cheerio";
import express from 'express';
import request from 'request-promise'
import jschardet from 'jschardet'
import iconv from 'iconv'
import fs from 'fs'
const Iconv = iconv.Iconv

const app = express()

app.get('/', (req, res) => {
    const url = "https://100mountain.tistory.com/117"
    request({
        url: url,
        encoding: null,
    })
        .then(anyToUtf8)
        .then((html) => {
            // fs.writeFileSync("test.txt", '\ufeff' + html, {encoding: 'utf8'});
            let $ = cheerio.load(html, null, false);
            let places = []

            $('div.tt_article_useless_p_margin').each(function () {
                console.log("title", $(this).find('p').text())
            });
            console.log("places", places)
        })
    function anyToUtf8(str) {
        const { encoding } = jschardet.detect(str);
        const iconv = new Iconv(encoding, "utf-8//translit//ignore");
        return iconv.convert(str).toString();
    }
baesangjune's avatar
baesangjune committed
34
35
36
37
38
})

app.listen(3001, () => {
    console.log('Server is listening on port 3001')
})