Оглавление:
Хрумер (XRumer)
Приведение ссылок к домену 2-го уровня с помощью Notepad++
Приведение ссылок к домену 2-го уровня с помощью специальной программы
Скачать программу для приведение ссылок к домену 2-го уровня
Исходный код программы
Немного предыстории. Как я уже рассказывал в предыдущем материале, со временем я пришел к тому, что неплохо было бы отойти от арендных ссылок, и перейти на так называемые «вечные» ссылки. Так, я познакомился и приобрел замечательную программу Хрумер (XRumer).
В данной статье я расскажу о том, как привести базу данных для программы Хрумер (XRumer) с ссылками к файлу с ссылками в виде доменов 2-го уровня. Домен второго уровня — это уникальный адрес сайта, который находится в определенной доменной зоне (.ru, .com, .info и так далее).
Программа XRumer осуществляет рассылку информации (обычно это ссылки, как анкорные, так и безанкорные, на продвигаемый сайт) по базе ссылок в виде текстового файла. Обычно в режиме постинга бывает нужно такую базу с ссылками вида:
https://u11.ru/blog/
привести к ссылкам на домены второго уровня, типа:
https://u11.ru
Такая операция бывает нужна при работе с базой для постинга.
В принципе, чтобы выполнить такую операцию, можно открыть файл с базой для XRumer в любом блокноте и вручную удалить лишнее окончание ссылки. Но, дело в том, что такие базы содержат множество таких ссылок, даже не сотни, а тысячи и миллионы таких ссылок. Это займет очень много времени.
Можно попытаться это сделать с помощью программы Notepad++, облегчив себе задачу. Для этого сначала придется избавиться от http:// и https:// во всех строках. Для этого открываете в Нотепаде из верхнего меню пункты «Правка» — «Заменить» (можно просто нажать на Ctrl+H). В верхнее поле вставляете http://, а нижнее оставляете пустым. Жмете на кнопку «Заменить все». Потом в верхнее поле вместо http:// вставляете https:// и опять жмете на эту же кнопку.
Следующей нашей задачей будет удалить в Notepad++ после определенного символа(первого слеша (/)) все, что там будет стоять. Для этого опять же жмете на Ctrl+H. Переходим в режим «Регулярные выражения» (внизу окна), вставляем в первое поле (/.+)$ (если вам нужно будет после другого символа все удалить, то вставьте его вместо слеша), второе поле «Заменить на» оставьте пустым и жмем на кнопочку «Заменить все».
Хрумер (XRumer)
Приведение ссылок к домену 2-го уровня с помощью Notepad++
Приведение ссылок к домену 2-го уровня с помощью специальной программы
Скачать программу для приведение ссылок к домену 2-го уровня
Исходный код программы
Немного предыстории. Как я уже рассказывал в предыдущем материале, со временем я пришел к тому, что неплохо было бы отойти от арендных ссылок, и перейти на так называемые «вечные» ссылки. Так, я познакомился и приобрел замечательную программу Хрумер (XRumer).
В данной статье я расскажу о том, как привести базу данных для программы Хрумер (XRumer) с ссылками к файлу с ссылками в виде доменов 2-го уровня. Домен второго уровня — это уникальный адрес сайта, который находится в определенной доменной зоне (.ru, .com, .info и так далее).
Программа XRumer осуществляет рассылку информации (обычно это ссылки, как анкорные, так и безанкорные, на продвигаемый сайт) по базе ссылок в виде текстового файла. Обычно в режиме постинга бывает нужно такую базу с ссылками вида:
https://u11.ru/blog/
привести к ссылкам на домены второго уровня, типа:
https://u11.ru
Такая операция бывает нужна при работе с базой для постинга.
В принципе, чтобы выполнить такую операцию, можно открыть файл с базой для XRumer в любом блокноте и вручную удалить лишнее окончание ссылки. Но, дело в том, что такие базы содержат множество таких ссылок, даже не сотни, а тысячи и миллионы таких ссылок. Это займет очень много времени.
Можно попытаться это сделать с помощью программы Notepad++, облегчив себе задачу. Для этого сначала придется избавиться от http:// и https:// во всех строках. Для этого открываете в Нотепаде из верхнего меню пункты «Правка» — «Заменить» (можно просто нажать на Ctrl+H). В верхнее поле вставляете http://, а нижнее оставляете пустым. Жмете на кнопку «Заменить все». Потом в верхнее поле вместо http:// вставляете https:// и опять жмете на эту же кнопку.
Следующей нашей задачей будет удалить в Notepad++ после определенного символа(первого слеша (/)) все, что там будет стоять. Для этого опять же жмете на Ctrl+H. Переходим в режим «Регулярные выражения» (внизу окна), вставляем в первое поле (/.+)$ (если вам нужно будет после другого символа все удалить, то вставьте его вместо слеша), второе поле «Заменить на» оставьте пустым и жмем на кнопочку «Заменить все».
Кое-где в конце остались слеши, поэтому опять клацнете по Ctrl+H, перейдите в обычный режим и вставьте в верхнее поле слеш, а в нижние — ничего. Ну и на кнопочку «Заменить все» нажмите. Получаем все ссылки типа:
kupisait.ru
В общем-то с поставленной задачей мы справились. Но это не очень удобно. Кроме того, здесь есть, как я думаю, один нюанс. Хрумер будет к сайту обращаться без указания протокола (http:// или https://). В итоге цель будет достигнута, но в данном случае будет затрачиваться немного больше времени. С одной стороны, оно незначительное. С другой стороны, при работе Хрумера с миллионом ссылок, оно будет значительным. А как известно, время — деньги. К тому же все эти манипуляции с Notepad++ не очень удобны.
Взвесив все за и против, я решил написать программу для приведения базы данных под Хрумер (XRumer) для постинга к базе с сылками, в виде домена второго уровня. В качестве языка программирования я выбрал VB.Net (2010 года), т.к. когда-то я увлекался программированием на Visual Basic и у меня на съемном диске уже была настроенная виртуальная машина с данной средой программирования. Я на скорую руку написал несложную программу и хочу ей поделиться. Используя ее Вы соглашаетесь с тем, что я не несу никакой ответственности за Ваши возможные риски. Перед тем, как будете обрабатывать файлы, делайте резервное копирование. Кроме того я выкладываю исходный код данной программы. Вы сами можете ее поправить под себя, как считаете нужным.
Скачать программу для обработки базы данных под постинг Хрумером Вы можете по данной ссылке. Программа заархивирована в формате .zip. Вам ее нужно скачать файл LinkProcessing.zip и разархивировать в каталог файлы архива. На текущей момент в архиве 2 файла. Работает программа в операционных системах Windows, с установленным Microsoft .NET Framework 3.5 и выше. Устанавливать программу не нужно. Достаточно запустить файл «Обработка ссылок. exe». Работает в Win 7 и Win 10. В остальных системах не проверял, но, думаю, что при наличие Microsoft .NET Framework будет работать и в более ранних ОС.
Так же я выкладываю исходный код данной программы, можете им пользоваться:
kupisait.ru
В общем-то с поставленной задачей мы справились. Но это не очень удобно. Кроме того, здесь есть, как я думаю, один нюанс. Хрумер будет к сайту обращаться без указания протокола (http:// или https://). В итоге цель будет достигнута, но в данном случае будет затрачиваться немного больше времени. С одной стороны, оно незначительное. С другой стороны, при работе Хрумера с миллионом ссылок, оно будет значительным. А как известно, время — деньги. К тому же все эти манипуляции с Notepad++ не очень удобны.
Взвесив все за и против, я решил написать программу для приведения базы данных под Хрумер (XRumer) для постинга к базе с сылками, в виде домена второго уровня. В качестве языка программирования я выбрал VB.Net (2010 года), т.к. когда-то я увлекался программированием на Visual Basic и у меня на съемном диске уже была настроенная виртуальная машина с данной средой программирования. Я на скорую руку написал несложную программу и хочу ей поделиться. Используя ее Вы соглашаетесь с тем, что я не несу никакой ответственности за Ваши возможные риски. Перед тем, как будете обрабатывать файлы, делайте резервное копирование. Кроме того я выкладываю исходный код данной программы. Вы сами можете ее поправить под себя, как считаете нужным.
Скачать программу для обработки базы данных под постинг Хрумером Вы можете по данной ссылке. Программа заархивирована в формате .zip. Вам ее нужно скачать файл LinkProcessing.zip и разархивировать в каталог файлы архива. На текущей момент в архиве 2 файла. Работает программа в операционных системах Windows, с установленным Microsoft .NET Framework 3.5 и выше. Устанавливать программу не нужно. Достаточно запустить файл «Обработка ссылок. exe». Работает в Win 7 и Win 10. В остальных системах не проверял, но, думаю, что при наличие Microsoft .NET Framework будет работать и в более ранних ОС.
Так же я выкладываю исходный код данной программы, можете им пользоваться:
Imports System.IO
Public Class frmLink
'Для определения положения в трее
Private FormState As FormWindowState
Private Sub Crypt_Load(ByVal sender As Object, ByVal e As System.EventArgs)
'Форма не должна отображаться в панели при сворачивании
'Самоучитель VB 2008; БХВ-Петербург; Стр. 198.
Me.ShowInTaskbar = False
NotifyIcon1.Visible = True
NotifyIcon1.Text = "Обработка ссылок"
Me.StartPosition = FormStartPosition.WindowsDefaultLocation
End Sub
Private Function FileSelect(Optional ByVal f As String = Nothing) As String
'Диалог сохранения файла
'Самоучитель VB 2008; БХВ-Петербург; Стр. 121.
'Фильтр
SaveFileDialog1.Filter = _
"Files (*.txt)|*.txt|All files (*.*)|*.*"
'Заголовок файла
SaveFileDialog1.Title = "Сохранение файла"
'Определяем существование файла
SaveFileDialog1.DefaultExt = True
'Запрос подтверждения при замене файла
SaveFileDialog1.OverwritePrompt = False
'Обзор в дирректории, указанной выше
SaveFileDialog1.RestoreDirectory = True
'Если указанный файл существует - отображаем его
SaveFileDialog1.FileName = f
'Добавляет расширение к имени файла
SaveFileDialog1.AddExtension = True
'Отображаем диалог выбора файла
SaveFileDialog1.ShowDialog()
'Отображаем путь к файлу и файл
FileSelect = SaveFileDialog1.FileName
'Очищаем компонент
SaveFileDialog1.FileName = Nothing
End Function
Private Function FileOpen(Optional ByVal f As String = Nothing) As String
'Диалог открытия файла
'Самоучитель VB 2008; БХВ-Петербург; Стр. 121.
'Фильтр
OpenFileDialog1.Filter = _
"Files (*.txt)|*.txt|All files (*.*)|*.*"
'Заголовок файла
OpenFileDialog1.Title = "Открытие файла"
'Определяем существование файла
OpenFileDialog1.DefaultExt = True
'Проверка существования файла
OpenFileDialog1.CheckFileExists = True
'Запрещвем выбор нескольких файлов
OpenFileDialog1.Multiselect = False
'Обзор в дирректории, указанной выше
OpenFileDialog1.RestoreDirectory = True
'Если указанный файл существует - отображаем его
OpenFileDialog1.FileName = f
'Добавляет расширение к имени файла
OpenFileDialog1.AddExtension = True
'Отображаем диалог выбора файла
OpenFileDialog1.ShowDialog()
'Отображаем путь к файлу и файл
FileOpen = OpenFileDialog1.FileName
'Очищаем компонент
OpenFileDialog1.FileName = Nothing
End Function
Private Sub lnkMail_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles lnkMail.LinkClicked
'Рецепты программирования на Microsoft VB.NET; Мастеркласс; 2004; Стр. 667.
Dim IE As New SHDocVw.InternetExplorer()
IE.Navigate("mailto:sergey-911@mail.ru")
lnkMail.LinkVisited = True
IE.Quit()
End Sub
Private Sub lnkSayt_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles lnkSayt.LinkClicked
'Рецепты программирования на Microsoft VB.NET; Мастеркласс; 2004; Стр. 667.
Dim IE As New SHDocVw.InternetExplorer()
IE.Navigate("https://kupisait.ru")
IE.Visible = True
lnkSayt.LinkVisited = True
End Sub
Private Sub NotifyIcon1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles NotifyIcon1.Click
If Me.WindowState = FormWindowState.Minimized Then
Me.Visible = True
Me.WindowState = FormState
Else
Me.Visible = False
Me.WindowState = FormWindowState.Minimized
End If
End Sub
Private Sub frmLink_LocationChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LocationChanged
If Me.Visible = False Then Return
If Me.WindowState = FormWindowState.Minimized Then
Me.Visible = False
Else
Me.Visible = True
End If
If Me.WindowState <> FormWindowState.Minimized Then
FormState = Me.WindowState
End If
End Sub
Private Sub cmdOpenFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOpenFile.Click
'Обзор файла
Dim f As String
f = FileOpen()
If Trim(f) = "" Then
Return
End If
'Заполняем поле исходного файла именем выбранного файла
txtOpenFile.Text = f
'Заполняем значение конечного файла
txtFinishFile.Text = FileIO.FileSystem.GetFileInfo(f).DirectoryName & "" & IO.Path.GetFileNameWithoutExtension(f) & "_mod_" & FileIO.FileSystem.GetFileInfo(f).Extension
End Sub
Private Sub cmdFinishFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdFinishFile.Click
'Обзор файла
Dim f As String
f = FileSelect()
If Trim(f) = "" Then
Return
End If
'Заполняем поле конечного файла именем выбранного файла
txtFinishFile.Text = f
End Sub
Private Sub cmdRun_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdRun.Click
Dim fileReader As System.IO.StreamReader
Dim fileWriter As System.IO.StreamWriter
If Trim(txtOpenFile.Text) = "" Or Trim(txtFinishFile.Text) = "" Then
MsgBox("Укажите исходный и конечный файлы в соответствующие поля!", MsgBoxStyle.Exclamation)
Exit Sub
End If
Try 'Обработка ошибок
fileReader = My.Computer.FileSystem.OpenTextFileReader(txtOpenFile.Text)
fileWriter = My.Computer.FileSystem.OpenTextFileWriter(txtFinishFile.Text, False)
Dim stringReader As String
Dim linenum As Integer = 0
Dim n As Integer = 0
While Not fileReader.EndOfStream()
stringReader = fileReader.ReadLine()
If InStr(stringReader, "https://") > 0 Then
n = InStr(9, stringReader, "/")
ElseIf InStr(stringReader, "http://") > 0 Then
n = InStr(8, stringReader, "/")
End If
If n > 0 Then n = n - 1
stringReader = Mid(stringReader, 1, n)
If Len(stringReader) > 0 Then
fileWriter.WriteLine(stringReader)
Else
fileWriter.WriteLine(fileReader.ReadLine())
End If
linenum = linenum + 1
stringReader = ""
n = 0
End While
fileReader.Close()
fileWriter.Close()
MsgBox(linenum & " строк обработано")
Catch 'Обработка ошибок
MsgBox("Укажите правильно исходный и конечный файлы в соответствующие поля! Исходный файл должен быть существующим!", MsgBoxStyle.Exclamation)
End Try 'Обработка ошибок
End Sub
End ClassЧтобы воспользоваться в проекте данным кодом, в среде разработки Вам понадобится форма frmLink. На ней нужно:
разместить кнопки: cmdOpenFile, cmdFinishFile, cmdRun;
разместить текстовые поля: txtOpenFile, txtFinishFile;
и разместить компоненты: SaveFileDialog1, OpenFileDialog1, ToolTip1, NotifyIcon1.
Внутри формы разместите код, указанный выше. Останется только скомпилировать проект.
На этом сегодня все, удачи!
разместить кнопки: cmdOpenFile, cmdFinishFile, cmdRun;
разместить текстовые поля: txtOpenFile, txtFinishFile;
и разместить компоненты: SaveFileDialog1, OpenFileDialog1, ToolTip1, NotifyIcon1.
Внутри формы разместите код, указанный выше. Останется только скомпилировать проект.
На этом сегодня все, удачи!