получать разные html с сайта используя heroku - PullRequest
0 голосов
/ 19 марта 2019

Я делаю мой сайт гусеничным с модулем запроса и cheerio.

Вот моя функция getData () -> она получает html по запросу и разбирает cheerio. и console.log (body) показывает HTML-код, который модуль запроса получил с моего сайта.

async function getData(category) {
    try {



        let post = [];
       
       await rp("http://2dd.kr/category/" + category)
           .then(async function(body){
                    try{
                        console.log(body);
                        let $ = await cheerio.load(body);
                        console.log($);
                       $('.post-title a').each((async function (i,elem) {
                           console.log(`Starting.. ${$('.post-title a').length}`);
                           const title = $('.post-title a').eq(i).text().trim();
                           const link = $('.post-title a').eq(i).attr("href");
                           const year = $('.post-date-year').eq(i).text().trim();
                           let month = $('.post-date-month').eq(i).text().trim();
                           const day = $('.post-date-day').eq(i).text().trim();
                           month = month.replace("월", "");
                           const DecodedLink = decodeURIComponent(link);
                           const date = year + month + day;
                           post[i] = {

                               title: title,
                               link: DecodedLink,
                               year: year,
                               month: month,
                               day: day,
                               date: date,

                           };
                           console.log(post[i]);
                           await db.ref(category + "/" + i).set(post[i]);
                       }));
                   } catch(e){
                       console.log("error");
                       console.error(e);
                   }

           })
           .catch((err)=>{
               console.error(err);
       });



    } catch (e) {
        console.log('Error!!!');
        console.error(e);
    }

Когда я запускаю index.js на моем локальном компьютере, он хорошо получает html, но когда я запускаю index.js в heroku, он получает другой html, поэтому я не могу разобрать этот html с cheerio.

Когда я запускаю index.js на своем локальном компьютере, он получает точный HTML, поэтому я могу разобрать с cheerio, но

когда я запускаю index.js в heroku, он получает другой html, подобный этому:

 <html><body><script type="text/javascript" src
="/cupid.js" ></script><script>function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e}function toHex(){for(var d=[],d=1==arguments.length&&argument
s[0].constructor==Array?arguments[0]:arguments,e="",f=0;f<d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("e570a68805e3d6a2d7db2a505cb5ad9b"),b=t
oNumbers("72fee3f5064005167fb67c09031db8c2"),c=toNumbers("c4ae16814de2ccec28b9cd147096e8a6");var now=new Date(),time=now.getTime();time+=3600*1000*24;now.setTime(time);document.cookie="CU
PID="+toHex(slowAES.decrypt(c,2,a,b))+"; expires="+now.toUTCString()+"; path=/";location.href="http://2dd.kr/category/daily?ckattempt=1";</script></body></html>

Я не знаю причину, по которой тот же index.js получает разные HTML на моем сайте. Есть ли что-нибудь, что я могу сделать ..?

спасибо всем.

...