Ако сте изграждали n8n workflow, който извлича или обработва данни от LinkedIn профили, почти сигурно сте се сблъсквали с досаден проблем: статистиките за последователи и връзки се връщат в напълно различни формати в зависимост от региона на потребителя. Това, което в САЩ изглежда като 1,234, в Германия е 1.234, а китайските потребители на LinkedIn виждат съкратен формат като 1.2万 (означаващ 12 000). Ако вашият workflow третира всичко това като обикновен текст и се опита да извърши аритметика, той се счупва — безшумно или видимо.
Тази статия разглежда практическо решение за n8n workflow, което правилно нормализира LinkedIn статистиките независимо дали изходните данни идват от САЩ, ЕС или Китай.
Защо LinkedIn статистиките се чупят в n8n
Основната причина е проста: LinkedIn показва числата в регионалния формат на акаунта на разглеждащия потребител, не на притежателя на профила. Когато вашият n8n workflow извлича данни — чрез LinkedIn API, нод за скрейпинг или инструмент за браузър автоматизация — получената стойност е форматиран текстов низ, не чисто цяло число.
| Region | Raw value received | Actual number |
|---|---|---|
| 🇺🇸 USA | 12,450 | 12,450 |
| 🇩🇪 Germany / EU | 12.450 | 12,450 |
| 🇫🇷 France / EU | 12 450 | 12,450 |
| 🇨🇳 China | 1.2万 | 12,000 |
| 🇨🇳 China (large) | 120万 | 1,200,000 |
The problem is compounded by the fact that n8n's built-in number parsing assumes a US/UK format. Passing 12.450 to a math node will give you 12.45 — off by a factor of 1,000.
Решението: Функция за нормализация в Code нод
The cleanest solution is to add a Code node (JavaScript) immediately after any node that returns LinkedIn profile statistics. This node detects the format and converts all variants to a plain integer.
Стъпка 1 — Идентифицирайте входното поле
Приемете, че предходният нод връща поле с име followersCount като текстов низ. Code нодът ще го прочете, ще го нормализира и ще върне чисто цяло число followersNormalised.
Стъпка 2 — Добавете Code нода
// LinkedIn Statistics Normaliser — USA / EU / China
// Handles: "12,450" | "12.450" | "12 450" | "1.2万" | "120万"
function normaliseLinkedInStat(raw) {
if (!raw) return 0;
let s = String(raw).trim();
// Chinese wan (万) format: 1.2万 = 12000, 120万 = 1200000
if (s.includes('万')) {
const num = parseFloat(s.replace('万', '').trim());
return Math.round(num * 10000);
}
// French/Swiss EU format: space as thousands separator "12 450"
if (/^\d[\d ]+\d$/.test(s)) {
return parseInt(s.replace(/\s/g, ''), 10);
}
// Detect EU format: period as thousands separator (e.g. "12.450")
// Rule: if period appears and is followed by exactly 3 digits at end → thousands sep
if (/\d\.\d{3}$/.test(s) && !s.includes(',')) {
return parseInt(s.replace(/\./g, ''), 10);
}
// US/UK format: comma as thousands separator "12,450"
if (s.includes(',')) {
return parseInt(s.replace(/,/g, ''), 10);
}
// Plain number
return parseInt(s, 10) || 0;
}
return items.map(item => {
const raw = item.json.followersCount;
return {
json: {
...item.json,
followersNormalised: normaliseLinkedInStat(raw)
}
};
});
normaliseLinkedInStat() for each field in the same Code node to keep your workflow clean.
Стъпка 3 — Тествайте с примерни данни
Закачете следните тестови данни към Code нода и проверете резултатите:
| Input | Expected output | Region |
|---|---|---|
"12,450" | 12450 | USA |
"12.450" | 12450 | Germany / EU |
"12 450" | 12450 | France / EU |
"1.2万" | 12000 | China |
"120万" | 1200000 | China |
"500" | 500 | Any |
Къде да поставите този нод в workflow-а
Нодът за нормализация трябва да стои между нода за извличане на данни и всяка последваща логика, която използва числови сравнения, агрегации или експорт:
HTTP Request / LinkedIn Node → Normalise Stats (Code) → Filter / IF / Spreadsheet / CRM update
Регионални изключения, за които да внимавате
- China — 亿 (yì): For very large pages, LinkedIn China may use
亿(100 million). Add a check:if (s.includes('亿')) return Math.round(parseFloat(s) * 100000000); - India / South Asia: Large numbers may use the lakh format (
1,23,456). This is less common on LinkedIn but worth noting for high-traffic automation. - Abbreviated "K" / "M": LinkedIn sometimes abbreviates very large counts to
12Kor1.2M. Extend the function with:if (s.endsWith('K')) return Math.round(parseFloat(s) * 1000);
Обобщение
LinkedIn статистиките на профили пристигат като текстови низове в специфичен за региона формат, които безшумно чупят числовите операции в n8n workflows. Един Code нод с 30-редова функция за нормализация обработва всички основни регионални варианти — американски формат с запетая, европейски с точка, френски с интервал и китайски съкратени формати 万/亿 — конвертирайки ги в чисти числа, с които вашият workflow може безопасно да работи.
Тази корекция отнема под 10 минути за внедряване и елиминира цял клас трудни за дебъгване грешки в данните при LinkedIn автоматизационни workflows.

