Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import random
- import time
- import urllib2
- import random
- import sys
- import os
- import spynner
- from subprocess import Popen, PIPE
- from multiprocessing.dummy import Pool as ThreadPool
- path = os.path.realpath(os.path.dirname(sys.argv[0]))
- useragent = ["Mozilla/5.0 (compatible, MSIE 11, Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko", "Mozilla/5.0 (compatible, MSIE 11, Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko"]
- class wiper():
- def __init__(self, dispute, bmplimit, proxy,speed):
- #определяем чой-то такое
- if '2ch' in dispute:
- textform1 = 'span[id=TopNormalReplyLabel]'
- textform2 = 'textarea[name=comment]'
- textform3 = 'input[name=submit]'
- bmptext = '<span class="posttime">'
- elif 'syn-ch' in dispute:
- textform1 = 'div[id=markup]' #не нужно, но придется
- textform2 = 'textarea[name=body]'
- textform3 = 'input[name=post]'
- bmptext = '<time datetime="'
- elif 'dobrochan' in dispute:
- textform1 = 'span[id=postFormDiv]'
- textform2 = 'textarea[name=message]'
- textform3 = 'input[name=new_post]'
- bmptext = '<span class="postername">'
- else:
- print ('Неудача! Вы запостили неправильную ссылку.')
- print 'Начинаем спамить. Ожидайте, пожалуйста...'
- bamp = self.wiper(dispute, textform1, textform2, textform3, bmptext, bmplimit, proxy)
- while bamp:
- if proxy:
- time.sleep(int(speed))
- print('Всё еще не бамплимит. Спамируем дальше...')
- else:
- randomtime = random.randint(10,15)
- time.sleep(randomtime)
- print ('Всё еще не бамплимит, спам продолжится через '+str(randomtime)+'с.')
- bamp = self.wiper(dispute, textform1, textform2, textform3, bmptext, bmplimit, proxy)
- print 'Бамплимит наступил. Поздравляем, спамер!'
- def images_filter(self, operation, url):
- return os.path.splitext(url)[1] not in (".jpg", ".gif", '.webm', '.mp3', '.ttf', '.flv', '.swf', 'css', 'png')
- def wiper(self, dispute, t1, t2, t3, bmptext, bmplimit, proxy):
- try:
- words = u'Всё еще тестирю доброчан...'
- rua = useragent[random.randint(0, (int(len(useragent))-1))]
- browser = spynner.Browser(debug_level=spynner.ERROR,user_agent = rua)
- if proxy:
- browser.set_proxy(proxy)
- browser.wait(1)
- browser.set_url_filter(self.images_filter)
- #browser.create_webview()
- #browser.webview.show()
- browser.load(dispute, load_timeout=60)
- browser.wait(1)
- global html
- html = browser.html
- browser.wait(1)
- browser.wk_click(t1)
- browser.wait(1)
- browser.wk_fill(t2, words)
- #browser.wait(5)
- #browser.wk_click(t3)
- browser.wait(2)
- browser.close()
- #проверям бамплимит
- lastpost = html.split(bmptext)
- lastpostnum = int(len(lastpost))-1
- print 'Постов в треде:', lastpostnum
- if bmplimit > lastpostnum:
- return True
- elif bmplimit <= lastpostnum:
- return False
- except Exception, e:
- print 'Ошибочка', e
- return e
- def proxystart(proxy,speed):
- wiper(dispute,bmplimit,proxy,speed)
- def onestart():
- wiper(dispute,bmplimit,False,False)
- def proxyfilestart(speed):
- try:
- with open(path+'/proxy.txt', 'rb') as proxyfile:
- proxyrange = proxyfile.read().split('\n')
- for proxy in proxyrange:
- proxystart(proxy,speed)
- except Exception:
- with open(path+'/proxy.txt', 'wb') as proxyfile:
- print 'Проксифайл создан. Наполните его.'
- time.sleep(3)
- exit()
- if __name__ == '__main__':
- #print 'Введите ссылку на тренд:'
- #dispute = raw_input()
- dispute = 'http://dobrochan.com/mad/res/70972.xhtml'
- #print 'Введите бамплимит:'
- #bmplimit= raw_input()
- bmplimit = 500
- #print 'Использовать прокси? Y/N'
- #proxyyn = raw_input()
- proxyyn = 'n'
- tree = os.walk(path)
- print tree
- if str.upper(proxyyn) == 'Y':
- print 'Укожите скорость постинга в секундах:'
- speed = raw_input()
- proxyfilestart(speed)
- elif str.upper(proxyyn) == 'N':
- onestart()
- else:
- print 'Нипонел, попробуйте еще раз'
- time.sleep(3)
- exit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement