2016-08-16 3 views
0

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

Вот что я имею в виду ...

var Horseman = require("node-horseman"); 
var horseman = new Horseman(); 

horseman 
    .open('http://nickoskitchen.com/') 
    .text('.rc-headline') 
    .then(function(text){ 
    console.log(text); 
    horseman.close(); 
    }); 

Результат от выполнения этого сценария ...

admin:~/workspace $ node test4.js 
Recipes Inspired By New York City Street Foods10 More Unbelievable Red Velvet Desserts10 Twists On The Deviled EggElevate These 10 Dishes With Earthy Artichoke 

См? Он извлекается как одна строка, но когда я .count(), я получаю 4 результата.

Если кто-то мог бы помочь мне в этом вопросе, я был бы очень благодарен.

ответ

2

Метод text() просто получает текстовое содержимое согласованного селектора, поэтому любой стиль списка (или любой элемент/стиль html, используемый для разделения значений), который вы видите на странице, теряется, и вы остаетесь с искаженным текстом ,

Существует пакет npm, который вы можете захотеть просмотреть, если то, что вы хотите сделать, это очистить сайт от какого-либо контента. Он называется cheerio (jQuery для сервера). Добавьте его к своему коду, подобным этому

var Horseman = require("node-horseman"); 
var cheerio = require("cheerio"); 
var horseman = new Horseman(); 

horseman 
    .open('http://nickoskitchen.com/') 
    .html() 
    .then(function(html){ 
     var $ = cheerio.load(html); 
     var headlines = $('.rc-headline'); 
     headlines.each(function(){ 
      console.log($(this).text()); 
     }); 
     horseman.close(); 
    }); 

Надеюсь, что это поможет!

+0

Вы спасатель жизни, Kennasoft. Сколько вы платите в час за консультацию? Я был бы очень заинтересован в вашей помощи. Вы - отличный разработчик, который смотрит на ваш профиль. – kiefx

+0

Спасибо за комплименты, но я такой же обычный, как и они. Я просто случайно встретил тебя. По поручению Stackoverflow существует именно по этой причине: поэтому нам не нужно платить за решение наших проблем. Примите и поддержите ответ, и я буду этому доволен. Благодаря! – kennasoft

Смежные вопросы