@Vakha-MockingBird

Парсинг страницы Node.js?

Добрый день, только учусь программировать и решил написать парсер, но возникла проблема.

Суть парсера найти на странице все номера телефонов и вывести их, но она не верно находит их, уже 2 день мучаюсь не могу решить проблему.

Думаю проблема в регулярках.

В общем как решить проблему?

var request = require("request");
var	cheerio = require("cheerio");
var	url = "ссылка на сайт";

var words = [];
var totalResults = 0;

function callback (word) {	
	words.push(word);
	console.log(words[totalResults]);
	return;
}

request(url, function (error, response, body) {
    if (error) {
        console.log("Не удалось получить страницу из за следующей ошибки:"  + error);
        return;
    }
        var $page = cheerio.load(body);
        var text = $page("body").text();
            text = text.replace(/\s+/g, " ").replace(/^(\s*)?(\+)?([- _():=+]?\d[- _():=+]?){10,14}(\s*)?$/, "");
            text.split(" ").forEach(function(word) { 				
				callback(word); 
				totalResults++;            
			});		
});
  • Вопрос задан
  • 176 просмотров
Решения вопроса 1
@Vakha-MockingBird Автор вопроса
var request = require("request");
var	cheerio = require("cheerio");
var	url = "ссылка на сайт";

var words = [];
var totalResults = 0;

function callback (word) {	
	words.push(word);
	console.log(words[totalResults]);
	return;
}

request(url, function (error, response, body) {
    if (error) {
        console.log("Не удалось получить страницу из за следующей ошибки:"  + error);
        return;
    }
        var $page = cheerio.load(body);
        var text = $page("body").text();
            text = text.replace(/\s+/g,"").replace(/w/g,"").match(/8\((\d{4})\)\d{2}-\d{2}-\d{2}/g);
            text.forEach(function(word) { 				
				callback(word); 
				totalResults++;            
			});		
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Deissh
@Deissh
I like Python, Node.JS, Go, pain, bugs and my cat.
Регулярками мало уже ищют, используйте селекторы или xpatch. В хроме в devtools можно легко получить селектор.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы