2013-11-08 2 views
0

Я пытаюсь отменить данные для личного пользования от trustpilot co uk. Я анализирую название сайтов с этого page. В результате я получаю:Анализ данных с веб-сайта

2. Flashbay ,&,;

То, что я хочу, чтобы получить только имя сайта, например "Flashbay". Я использую эту команду $('.items h3 a').

Любой совет/помощь в достижении моей цели действительно оценен.

+0

Я бы ожидать, вы получите '2. Flashbay'. Откуда берется ', & ,;'? – Horen

ответ

3
var websites = []; 
$.each($('.item h3 a'), function() { 
    websites.push($(this).text().trim().replace(/^[^A-Z]+/i, '')); 
}); 
console.log(websites); 

Это дало мне следующее:

["Mr Memory", "GoGoDigital", "Maxram", "Quiet PC.com", "Sell Your-laptop", 
"Wiziwoo Ltd", "OFFTEK", "Memoryc", "Total Computing", "ZiiP GameStore", 
"Comms Express", "MicroDream Limited", "Xytron", "Kikatek", "Gizzmo Heaven", 
"Arbico Computers", "Network Webcams", "ShopTo.Net", "PC Specialist Ltd", "rpm"] 
+0

ура. было легче, чем я думал. спасибо за помощь –

+1

@ Stefanos.Ioannou Добро пожаловать! Рад, что я смог помочь. :) –

0

Вы можете использовать .substring (3,8) для строковой переменной, содержащей «2. Flashbay, &,;»

0

Использование подстрок, предложенных Дэмиеном, возможно, является самым простым путем. Однако использование статических индексов, подобных этому, не будет работать, поскольку строки, которые вы просматриваете, имеют переменную длину, включая основной текст, который нужно обрезать. Глядя на страницу, вот что работает для меня:

var companies = []; 
var elements = $('.items h3 a'); 
for(var i = 0; i < elements.length;i++){ 
    var text = $.trim($(elements[i]).text()); 
    text = text.substr(text.indexOf(".") + 2); 
    companies.push(text); 
} 
console.log(companies); 

Я проверил, что на странице вы связаны, и, кажется, работает хорошо. Я не знаю, откуда это произошло: ,&,;.

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