Спросили тут в реф-чатике, как проверить, что купленные беки реально стоят на…
Спросили тут в реф-чатике, как проверить, что купленные беки реально стоят на сайтах. Полез отвечать, понял что у меня под это давно есть кусок кода внутри большого проекта. Вырезал, причесал, выложил отдельно.
Даёшь список страниц-доноров и список своих доменов, на выходе csv: где ссылка есть, каким анкором и с каким rel.
Зачем. После линкбилдинга и меджиков у тебя табличка обещанных размещений и вера в человечество. А по факту: ссылку поставили и через месяц сняли, поставили с nofollow, воткнули на поддомен, анкор молча поменяли на голый урл, страницу с размещением снесли. Руками проверять сотню доноров это тоска, а через месяц всё заново.
Что в csv по каждой найденной ссылке:
— страница-донор из твоего списка, ровно как ты её дал, чтобы строки джойнились обратно в твою табличку
— какой из твоих доменов нашёлся
— полный урл ссылки
— анкор, для картиночных ссылок берётся alt
— rel как есть, плюс отдельная колонка nofollow yes/no
— ошибка, если страница вообще не открылась
Пустой домен и пустая ошибка = страница отсканилась нормально, ссылки на ней нет. То есть кинули.
Мелочи, ради которых я это в своё время и дописывал:
— поддомены считаются твоими, www.mysite.com и blog.mysite.com матчатся на mysite.com
— редиректы идут по цепочке, относительные ссылки резолвятся от той страницы, которая реально ответила, с учётом base href
— домен можно писать как попало: mysite.com, https://mysite.com/path, с портом, с точкой в конце, юникод и punycode матчатся друг с другом
— у мелких доноров вечно просроченные серты, поэтому есть —insecure
— одинаковые ссылки на странице схлопываются, но если вторая с другим анкором — она останется
— в конце в stderr падает отчёт: сколько просканил, на скольких ссылка есть, на скольких ноль, сколько отвалилось и разбивка по твоим доменам. csv при этом остаётся чистым, можно пайпить дальше
— отфильтровать только дофолловые — готовый однострочник в ридми, потому что грепать csv глазами такое себе
Честно про ограничения. Парсится сырой html. Если донор подставляет ссылку джаваскриптом после загрузки, тулза её не увидит. Рейт-лимитера и robots.txt нет, воркеров по умолчанию 8, если весь список сидит на одном домене — ставь меньше, не долби человека.
Питон 3.9+, один файл, зависимостей ноль, ставить нечего. 44 теста на стдлибе, гоняются без сети.
https://github.com/izzipizzy/backlink-finder
Если чего-то не хватает — пишите в комменты или в issues, допилю.
p.s. пост не рекомендован продавцам меджиков))
Вставить свои 5 копеек: