Ejemplo n.º 1
0
import re
from selenium.webdriver.common.by import By
import misc
from credentials import pda

users = {}
topics = (
    191879,  # Инвайты на закрытые ресурсы
)

misc.count_is_null('pda')

for topic in topics:
    driver = misc.web_surfing()
    driver.get(f"{pda['url']}/forum/index.php?showtopic={topic}")

    pages = int(
        re.findall('\d+',
                   driver.find_element(By.CLASS_NAME,
                                       'pagelink').text)[0]) * 20

    for page in range(0, pages, 20):
        driver.get(f"{pda['url']}/forum/index.php?showtopic={topic}&st={page}")
        all = driver.find_elements(By.XPATH, '//*[@class="normalname"]/a')
        for user in all:
            # Словарь {id: имя пользователя}
            users[re.findall('\d{2,}',
                             user.get_attribute("href"))[0]] = user.text

misc.saving_users('pda', users)
misc.count_is_null('pda')
Ejemplo n.º 2
0
    'invitesmag',  # Купля-Продажа обмен инвайтами (приглашениями)
    'flac_music',  # Waffles.CH & What.CD (Apollo.rip & Redacted.ch)
    'jpopsuki',  # Jpopsuki
    'btinvite',  # БитТОРРЕНТ трекеры – обмен инвайтами, помощь
    'club3111532',  # Soulseek
    'deepbassnine',  # deepbassnine.com (db9)
    'club9680876'  # karagarga
]

for item in [group for group in api.get_groups(groups)]:
    for i in item.get_members():
        if i.can_write_private_message is True and i.is_friend is False:
            users.add((i.id, i.first_name, i.last_name))

table = 'vk'
users_db = sqlite3.connect('users.db')

users_db.executemany(
    f"""
    INSERT OR IGNORE INTO {table} (
        id,
        first_name,
        last_name        
        ) 
        values(?, ?, ?)
""", users)

users_db.commit()

misc.count_is_null(table)
Ejemplo n.º 3
0
system_msg = 'Сообщение не может быть отправлено, так как вы разослали слишком много сообщений за последнее время'

while True:
    user_id = misc.select_one_user_to_send('vk')
    driver.get(f"{vk['url']}/id{user_id}")
    time.sleep(5)
    try:
        send = driver.find_element(By.CLASS_NAME, 'FlatButton__content')
        if send.text.startswith('Написать сообщение') is True:
            send.click()
            time.sleep(5)
            driver.find_element(By.ID,
                                'mail_box_editable').send_keys(misc.message_ru)
            time.sleep(5)
            driver.find_element(By.CLASS_NAME, 'FlatButton__content').click()
            time.sleep(5)
            if driver.find_element(
                    By.ID, 'system_msg').text.startswith(system_msg) is True:
                print(user_id, "break")
                break
            else:
                misc.successfully_sent('vk', user_id)
                time.sleep(60)
        elif send.text.startswith('Отправить подарок') is True:
            misc.sending_error('vk', user_id)
    except NoSuchElementException:
        misc.sending_error('vk', user_id)

misc.count_is_null('vk')
Ejemplo n.º 4
0
import time
from selenium.webdriver.common.by import By
from selenium.common.exceptions import ElementNotInteractableException
import misc
from credentials import funkysouls


# Заполняем форму авторизации
driver = misc.web_surfing(tor=True)
driver.get(f"{funkysouls['url']}/login")
driver.find_element(By.ID, 'username').send_keys(f"{funkysouls['login']}")
driver.find_element(By.ID, 'password').send_keys(f"{funkysouls['password']}")
driver.find_element(By.CSS_SELECTOR, '.controls > button:nth-child(1)').click()

while True:
    user_id = misc.select_one_user_to_send('funkysouls')
    driver.get(f"{funkysouls['url']}/u/{user_id}/pm")
    # Заполнение формы отправки сообщения
    try:
        driver.find_element(By.NAME, 'msg_title').send_keys('Частные торрент-трекеры')
        driver.find_element(By.ID, 'answer_form').send_keys(misc.message_ru)
        driver.find_element(By.ID, 'add_tracking').click()
        driver.find_element(By.NAME, 'submit').click()
        misc.successfully_sent('funkysouls', user_id)
        misc.count_is_null('funkysouls')
        # Ожидание
        time.sleep(10)
    # Закрытие попапа о новом сообщении, который прерывает отправку
    except ElementNotInteractableException:
        driver.find_element(By.CLASS_NAME, 'close').click()
Ejemplo n.º 5
0
driver.find_element(By.XPATH, password).send_keys(f"{rutracker['password']}")
driver.find_element(By.CLASS_NAME, 'bold.long').click()

# Отправляем сообщения в цикле, заполняем send в базе
while True:
    user_id = misc.select_one_user_to_send('rutracker')
    driver.get(f"{rutracker['url']}/forum/privmsg.php?mode=post&u={user_id}")
    # Заполнение формы отправки сообщения
    try:
        driver.find_element(
            By.ID, 'post-msg-subj').send_keys("Частные торрент-трекеры")
        driver.find_element(By.ID, 'post-textarea').send_keys(misc.message_ru)
        driver.find_element(By.ID, 'post-submit-btn').click()

        # Ваше сообщение было отправлено \ Вы превысили лимит количества исходящих сообщений (20)
        # Учитываются ЛС \ Исходящие
        if driver.find_element(By.CLASS_NAME, 'mrg_16').text.startswith(
                'Вы превысили лимит количества исходящих сообщений') is True:
            print(user_id, "break")
            break
        else:
            misc.successfully_sent('rutracker', user_id)
    # Обрабатываем исключение если элемента нет
    # Возникает из-за того, что пользователю нельзя отправлять сообщения
    except NoSuchElementException:
        misc.sending_error('rutracker', user_id)
    # Ожидание
    time.sleep(60)

misc.count_is_null('rutracker')