Не буду вдаваться в подробности, зачем мне это понадобилось.
Сразу к задаче. Необходимо повысить число просмотров (неуникальных и уникальных) веб-страницы, для просмотра которой не требуется авторизация. Это может быть любая страница сайта или соцсети (например, Вконтакте).
Возможно, что это не самое лучшее решение. Возможно, что ресурсоемкое. Но оно работает.
1. Генерация неуникальных просмотров
Будем имитировать просмотры веб-страницы. Так как, на многих сайтах стоит защита от кибератак, нам нужно генерировать трафик так, чтобы он был неравномерным. Не вызывать одну и ту же страницу каждую секунду, тем более с одного IP-адреса.
Нам понадобятся стандартные библиотеки:
time - для приостановки кода программы;
random - рандомайзер, для генерации случайного числа.
И библиотека selenium - для работы с web.
Библиотеку selenium необходимо заранее установить. Сделать это можно по примеру, который описан в другой моей статье: Установка библиотеки Python через терминал PyCharm. Только команда для установки библиотеки будет:
pip install selenium
Код программы с комментариями:
# Применяем библиотеку time
import time
# Применяем библиотеку random
import random
# Применяем библиотеку selenium c псевдонимом webdriver
from selenium import webdriver
# Вызываем браузер GoogleChrome, можете вызвать другой
driver = webdriver.Chrome()
# Открываем в браузере нужную страницу, замените *** на адрес
driver.get("***")
# Определяем - сколько посещений страницы нам необходимо. Можно задать абсолютное число. Например, y = 100.
# Но в настоящем коде выбирается случайное число в диапазоне (в примере: от 70 до 120). Такой код можно доработать в дальнейшем,
# чтобы имитировать разное число вхождений на веб-страницу, например, каждый час или в течение дня.
y = random.randint(70, 120)
# Выполняем в цикле посещение страницы
while y > 0:
# Перед каждым посещением делаем задержку на случайное число секунд в диапазоне (в примере: от 2 до 10).
time.sleep(random.randint(2, 10))
# Обновляем страницу
driver.refresh()
# Уменьшаем параметр y на 1, чтобы цикл не был бесконечным, а повторился заданное число раз.
y -= 1
В результате выполнения код программы откроет браузер Google Chrome, откроет в нем заданную веб-страницу и обновит ее заданное случайным образом число раз.
Так как открывается и затем неоднократно обновляется страница под вашим текущим IP-адресом, то и посещения будут неуникальными.
2. Генерация уникальных посещений
Чтобы имитировать уникальные посещения, понадобится неоднократно открывать страницу, каждый раз под другим IP. В моей задаче нужно было, чтобы IP были из российского сегмента. Я не стала писать код, который позволил бы получить список российских IP-адресов, а просто нашла список провайдеров с их диапазонами (например, на этой странице https://devhops.ru/i/web/ru_ip.php). Выбрала один из диапазонов провайдера YANDEX LLC. Начальный IP 37.9.64.0, конечный 37.9.127.255. То есть всего 16384 уникальных IP-адресов. Эту информацию я и использовала в коде.
Код программы с комментариями:
# Применяем библиотеку time
import time
# Применяем библиотеку random
import random
# Применяем библиотеку selenium c псевдонимом webdriver
from selenium import webdriver
# Применяем параметры (опции) браузера Google Chrome c псевдонимом Options
from selenium.webdriver.chrome.options import Options
# Определяем - сколько посещений страницы нам необходимо. Можно задать абсолютное число. Например, y = 100.
# Но в настоящем коде выбирается случайное число в диапазоне (в примере: от 70 до 120). Такой код можно доработать в дальнейшем,
# чтобы имитировать разное число вхождений на веб-страницу, например, каждый час или в течение дня.
y = random.randint(70, 120)
# Выполняем в цикле посещение страницы
while y > 0:
# Перед каждым посещением делаем задержку на случайное число секунд в диапазоне (в примере: от 2 до 10).
time.sleep(random.randint(2, 10))
# Генерируем уникальный IP-адрес в выбранном диапазоне (в примере: от 37.9.64.0 до 37.9.127.255)
PROXY = ""+"37.9." + str(random.randint(64, 127)) + "." + str(random.randint(0, 255)) + ":8080"
# Передаем параметры браузера переменной chrome_options
chrome_options = Options()
# Назначаем параметрам браузера аргумент с ранее сгенерированным уникальным IP-адресом
chrome_options.add_argument(f'--proxy-server={PROXY}')
# Вызываем браузер GoogleChrome
driver = webdriver.Chrome()
# Открываем в браузере нужную страницу, замените *** на адрес
driver.get("***")
# Закрываем браузер
driver.close()
# Уменьшаем параметр y на 1, чтобы цикл не был бесконечным, а повторился заданное число раз.
y -= 1
Программный код можно изменять в различных направлениях. Открывать страницы в браузере по умолчанию или задать другой браузер. Изменять параметры вызова браузера. Можно запрограммировать расписание или поместить код в расписание операционной системы для того, чтобы имитировать посещение пользователей в разные временные промежутки.
Благодарю за внимание. Если было полезно, то можете поставить лайк.