Guest User

Untitled

a guest
Apr 13th, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. import random
  5. import time
  6. import urllib2
  7. import random
  8. import sys
  9. import os
  10. import spynner
  11. from subprocess import Popen, PIPE
  12.  
  13. path = os.path.realpath(os.path.dirname(sys.argv[0]))
  14. useragent = ["Mozilla/5.0 (Windows NT 6.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1", "Mozilla/5.0 (Windows NT 6.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"]
  15.  
  16. class wiper():
  17. def __init__(self, dispute, bmplimit):
  18. #определяем чой-то такое
  19. if '2ch' in dispute:
  20. textform1 = 'span[id=TopNormalReplyLabel]'
  21. textform2 = 'textarea[name=comment]'
  22. textform3 = 'input[name=submit]'
  23. bmptext = '<span class="posttime">'
  24. elif 'syn-ch' in dispute:
  25. textform1 = 'div[id=markup]' #не нужно, но придется
  26. textform2 = 'textarea[name=body]'
  27. textform3 = 'input[name=post]'
  28. bmptext = '<time datetime="'
  29. else:
  30. print ('Неудача! Вы запостили неправильную ссылку или борда не поддерживается')
  31.  
  32. #определяем бамплимит и постим
  33. bamp = self.wiper(dispute, textform1, textform2, textform3, bmptext, bmplimit)
  34. while bamp:
  35. randomtime = random.randint(10, 20)
  36. print ('Всё еще не бамплимит, бам продолжится через '+str(randomtime)+'с.')
  37. time.sleep(randomtime)
  38. bamp = self.wiper(dispute, textform1, textform2, textform3, bmptext, bmplimit)
  39. print 'Бамплимит наступил. Поздравляем, вайпер!'
  40.  
  41. def images_filter(self, operation, url):
  42. return os.path.splitext(url)[1] not in (".jpg", ".png", ".gif", '.webm', '.mp3', '.ttf', '.css', '.flv')
  43.  
  44. def wiper(self, dispute, t1, t2, t3, bmptext, bmplimit):
  45. try:
  46. words = u'Вайпаю ваш тред'
  47. rua = useragent[random.randint(0, (int(len(useragent))-1))]
  48. browser = spynner.Browser(debug_level=spynner.ERROR,user_agent = rua)
  49. browser.set_url_filter(self.images_filter)
  50. #browser.create_webview()
  51. #browser.webview.show()
  52. browser.load(dispute, load_timeout=60)
  53. browser.wait(1)
  54. html = browser.html
  55. browser.wait(1)
  56. browser.wk_click(t1)
  57. browser.wait(1)
  58. browser.wk_fill(t2, words)
  59. browser.wait(1)
  60. browser.wk_click(t3)
  61. browser.wait(3)
  62. browser.close()
  63. #проверям бамплимит
  64. lastpost = html.split(bmptext)
  65. lastpostnum = int(len(lastpost))-1
  66. print 'Постов в треде:', lastpostnum
  67. if bmplimit > lastpostnum:
  68. return True
  69. elif bmplimit <= lastpostnum:
  70. return False
  71. except Exception, e:
  72. print 'Ошибочка:', e
  73. return False
  74.  
  75. if __name__ == '__main__':
  76.  
  77. print 'Введите ссылку на тред:'
  78. dispute = raw_input()
  79. print 'Введите бамплимит'
  80. bmplimit = raw_input()
  81. print 'Начинаем вайпа... Ожидайте...'
  82. wiper(dispute,bmplimit)
Advertisement
Add Comment
Please, Sign In to add comment