Если вы занимаетесь продвижением сайта при помощи ссылок, то наверняка используете для этих целей биржу размещения статей Miralinks. Продвижение статьями эффективнее продвижения просто ссылками, поскольку вписать ссылку в свою статью можно более гармонично и меньше шансов, что она будет негативно воспринята поисковыми системами.
Алгоритм отбора площадок
Не все площадки подходят для размещения статей/ссылок. Многие из них уже заспамлены или на них наложены различные фильтры поисковых систем. Удобнее всего выгрузить подходящие площадки из биржи, например из нужно вам раздела по подходящей цене, а затем проверить их качество в одном из сервисов проверки качества сайтов, например checktrust.ru или xtool.ru. Лично я сначала прогоняю через checktrust (отбираю с трастом больше 40-50), а затем еще проверяю xtool, этот сервис находит некоторые проблемы, которые не обнаруживает первый сервис.
Скрипт для экспорта площадок
Неудобно то, что миралинкс не имеет функции выгрузки площадки, то есть в общем случае вам придется копировать адрес каждого сайта по отдельности. Но периодически возникают сервисы/скрипты, позволяющие сделать пакетную выгрузку. Об одном из таких скриптов я расскажу.
Инструкции использования приведены для Google Chrome.
Первоначально в отобранном с помощью фильтра miralinks спике площадок рекомендуется переключиться в режим «Показывать на странице 50 сайтов» (внизу справа). Так у нас будет меньше страниц для обработки скрипта, что ускорит его работу.
Далее нажмите комбинацию клавиш Ctrl + Shift + J для перехода в консоль JavaScript броузера. После нажатия клавиш вы увидите следующее:
Далее в появившееся поле вставляем скрипт. Берем его здесь https://gist.github.com/Danilnd/8896a0a28c7601fc2b4f
или скопируйте отсюда:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// Chrome —› Инструменты —› Консоль JavaScript (Ctrl + Shift + J) var alllinks = ''; crawler = setInterval(function() { $('.dataTable tbody td.rPosLast .popover-holder.nowrap a:not(.external-link)').each(function() { alllinks += $(this).text() + '\n'; }); var elem = $('a.next.paginate_button:not(.paginate_button_disabled)'); if(elem.length==0){ console.log(alllinks); clearInterval(crawler); }else{ elem.click(); } }, 10000); |
и нажимаем enter.
Далее скрипт начинает работать, вы будете это видеть по изменяющимся страницам на экране. Надо некоторое время подождать после чего вы получите список площадок прямо в консоли.
Как вытащить площадки вместе с ценой?
C помощью данного скрипта никак. Вы можете сначала с помощью фильтра miralinks ограничить перечень площадок только теми, чья цена вас устраивает — то есть сделать фильтр по цене, а уже затем выгрузить их с помощью данного скрипта.
Спасибо автору! Очень помогли сэкономить время.
Протестил скрипт. Скрипт крутой, но пропускает половину площадок.
к сожалению, уже не работает. Страницы листает и больше ничего
Проверил, у меня работает, после отработки скрипта появился список сайтов.
C первого раза не весь список скопировал 5000 вместо 15000
Все работает !
У меня скрипт не вставляется, просто окно как бы не активное. Это апдейт хрома или как?
Оригинал скрипта у меня не работает.
Вот немного переделал его, может кому будет полезно
let arr = [];
crawler = setInterval(function() {
let list = document.querySelectorAll(‘.external-link’);
list.forEach(elem => arr.push(elem.href));
var elem = $(‘a.next.paginate_button:not(.paginate_button_disabled)’);
if(elem.length==0){
console.table(arr);
clearInterval(crawler);
}else{
elem.click();
}
}, 10000);
Виталий, спасибо за скрипт. Поставил его в статью. Только вывод результатов сделал простой, не табличный.
Не могли бы посмотреть что не так со скриптом? Он перестал список доноров формировать.
у меня парсит, но не собирает сайты. Походу верстку сменили. Подправил и заработало:
var alllinks = »;
crawler = setInterval(function() {
$(‘.dataTable tbody td.rPosLast .nowrap .widget-popover-Base .popover-wrapper a:not(.external-link)’).each(function() {
alllinks += $(this).text() + ‘\n’;
});
var elem = $(‘a.next.paginate_button:not(.paginate_button_disabled)’);
if(elem.length==0){
console.log(alllinks);
clearInterval(crawler);
}else{
elem.click();
}
}, 10000);
Не работает ни один вариант
те которые в комментах дают ошибку Uncaught SyntaxError: Invalid or unexpected token
в статье Failed to load resource: net::ERR_CONNECTION_RESET
тоже самое выдает. нужен актуальный скрипт.
Здравствуйте! МЛ действительно сменили верстку. Теперь не работает ни один вариант. Кто знает как поправить скрипт чтобы заработало?
Здравствуйте, уважаемый автор. Могли бы вы пожалуйста уделить немного времени скрипту и подправить его так, чтобы он начал работать?) Очень надо. Заранее спасибо!
var alllinks = »;
crawler = setInterval(function() {
$(‘.dataTable tbody td.rPosLast .popover-holder’).each(function() {
alllinks += $(this).text() + ‘\n’;
});
var elem = $(‘a.next.paginate_button:not(.paginate_button_disabled):first’);
if(elem.length==0){
console.log(alllinks);
clearInterval(crawler);
}else{
elem.click();
}
}, 10000);
Огромнейшее спасибо, работает!