Биржа Miralinks не предоставляет API для управления аккаунтом и не идет ни на какое сотруничество с нами (полагаю, что и со всеми остальными тоже). Также у биржи нет возможности экспортировать каталог площадок. Поэтому остается либо довольствоваться теми данными, что предоставляет сама биржа, либо бороться с наложенными ограничениями. Мы за второй вариант! И специально для вас подготовили js-скрипт, который автоматически пролистает все страницы каталога, сохранит все ссылки на представленные сайты и подготовит для вас список.
Все очень просто, вам нужно совершить всего несколько шагов, описанных ниже.
Экспорт списка площадок из биржи Miralinks
Авторизуйтесь и заходите в свой аккаунт. Сразу можно переходить к списку площадок, даже если у вас не создано ни одного проекта.
Рекомендуем вам настроить фильтрацию, заранее указав требуемые параметры (например, ИКС, кол-во страниц в индексе, возможно, тематику, но главное - стоимость, незачем проверять площадки, на которых вы точно не будете размещаться). Скорость парсинга каталога площадок зависит от количества страниц, помните об этом. Рассчет следующий: 1 страница = 10 секунд. При этом существует вероятность блокировки на время, если система заподозрит автоматизацию действий.
Итак, находясь на странице со списком площадок в Miralinks, необходимо нажать клавишу F12, чтобы открыть панель разработчика, и выбрать вкладку "Консоль".
Предварительно можно очистить содержимое консоли, если она не пустая, нажав на иконку мусорной корзины. В первую строку, обозначенную двойной слелкой, вставляем следующий скрипт:
const DISPLAY_LENGTH = 50; // Number of rows per page
let generateBody = (params) => {
let formData = new FormData();
for (const key in params) {
formData.append(key, params[key]);
}
formData.append("tsDataTableType", "with_checking");
formData.append("tsDataTableConfigType", "dataTable.Catalog");
formData.append("iDisplayLength", DISPLAY_LENGTH);
formData.append("iSortingCols", 1);
formData.append("searchData", JSON.stringify(ML.Storages.getUsersRemoteStorage().__STORE__.lastCatalogFilter));
for (const key in window.dataTables) {
if (key.startsWith('Catalog_')) {
const settings = window.dataTables[key].fnSettings()
for (const index in settings.aaSorting) {
formData.append(`bSortable_${index}`, true);
formData.append(`iSortCol_${index}`, settings.aaSorting[0][0]);
formData.append(`sSortDir_${index}`, settings.aaSorting[0][1]);
}
}
}
return formData;
}
let result = [];
const download = () => {
let e = document.createElement("a");
e.setAttribute(
"href",
"data:text/plain;charset=utf-8," + encodeURIComponent(result.join("\n"))
);
e.setAttribute("download", "domainList.txt");
(e.style.display = "none");
document.body.appendChild(e);
e.click();
document.body.removeChild(e);
}
const load = async (params) => {
const res = await fetch("https://www.miralinks.ru/ajaxPort/loadDataTableDataCatalog", {
method: "POST",
body: generateBody(params),
headers: {
"x-requested-with": "XMLHttpRequest",
},
});
const data = await res.json();
const urls = [];
for (const row of data.aaData) {
const rowData = row.rowData;
if (rowData['@count'] >= 2) {
await load({
sGroupValue: rowData['@groupby'],
iDisplayStart: 0,
});
continue;
}
const url = rowData['Ground.folder_url_wl'];
if (!url) {
continue;
}
urls.push(url);
}
result.push(...urls)
console.log("Собрано: ", result.length, "URLs: ", urls);
if (data.aaData.length === 0 || DISPLAY_LENGTH > data.aaData.length) {
return;
}
await new Promise((resolve)=>{
setTimeout(async () => {
const subParams = {
iDisplayStart: params.iDisplayStart + DISPLAY_LENGTH,
};
if (params.sGroupValue) {
subParams.sGroupValue = params.sGroupValue;
}
await load(subParams).then(() => {
resolve();
});
}, 2000)
});
}
await load({
iDisplayStart: 0,
});
download();
Получится так (не обращайте внимания, что на скриншоте другой код - менять скриншот каждый раз, когда меняется скрипт, просто не хочется):
Нажимаем Enter и смотрим, как скрипт собирает площадки, в консоли вы увидите весь процесс работы.
Пока скрипт не дойдет до последней страницы, он не выдаст результат. Когда скрипт дойдет до последней страниц, он заваршит свою работу и браузер скачает файл domainList.txt (ищите его в загрузках).
Наш скрипт в процессе парсинга пропускает площадки, url которых скрыт, поэтому итоговое количество строк в списке может отличаться от того количества площадок, которое обозначено в интерфейсе биржи.
Дальше со списком ссылок мы будем рабоать в CheckTrust.
Проверка списка площадок в CheckTrust
Теперь авторизуйтесь в личном кабинете Чектраста, выбирайте "Новый проект" в меню и проект типа "Проверка произвольных ссылок".
Полученный из биржи список площадок можно вставить сразу в окошко, не используя файл (скажу по секрету - ограничение в 1000 строк в окошке намного больше, но 1 млн. строк туда вставлать я все же не рекомендую).
Дальше вы все знаете сами: отмечаете нужные параметры и создаете проект. За несколько минут он полностью обработается. На этом этапе многих будет ждать расстройство, потому что большинство площадок, отмеченных биржей как супер качественные (Miralinks Rating = 100), будут иметь Траст < 10! Понятно, что площадки, цена размещения на которых от 3000р и выше будут иметь средний или высокий траст, но почему тогда площадки за 200р и 10000р имеют рейтинг системы 100%? Нам эта система не понятна.
Это наше личное мнение и вы можете его не разделять. Да и потом, мы всего лишь рассказываем о том, как выгрузить площадки и проверить их качество.
Создание списка качественных площадок
Прямо в проекте в Чектрасте вы можете применить фильтр "Хорошие доноры" (в эту выборку попадут также и отличные доноры) и сразу же сделать экспорт списка по фильтру:
В полученном при экспорте файле выделяем первую колонку "Хост" и копируем в буфер (ctrl+c). Возвращаемся в аккаунт биржи и выбираем пункт меню "Списки площадок".
Заходим в список "Избранное" и нажимаем кнопку "Добавить адреса". Вставляем наш список и сохраняем.
Теперь в каталоге площадок и при работе с проектами в Miralinks единственная настройка, которую вам стоит выбирать - Выбрать площадки из списка "Избранное".
Дальше вы можете работать с системой и покупать ссылки, как вы всегда это делали - выбираете площадки и заказываете размещение!
Теперь вы будете размещать свои ссылки только на качественных площадках!
В качестве послесловия
Где-то раз в месяц можно выгружать список новых площадок, благо соответствующий фильтр поиска есть, и его анализировать, тем самым держа свою базу всегда в актуальном состоянии.
Спасибо за внимание и до новых встреч.