P3rth0

Untitled

Feb 24th, 2020
753
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.17 KB | None | 0 0
  1. import requests
  2. import cfscrape
  3. from bs4 import BeautifulSoup as soup
  4. import time
  5. import random
  6. r = cfscrape.CloudflareScraper()
  7.  
  8. bs = soup(r.get('https://cryptotalk.org/login/').content, 'html.parser')
  9. csrf = bs.select('input[name=csrfKey]')
  10. time.sleep(2)
  11.  
  12. post_clone = []
  13.  
  14. headers = {
  15. "csrfKey":csrf,
  16. # логин
  17. "auth":"P3rth0",
  18. #пасс
  19. "password":"armyLoriginal1",
  20. "remember_me":1,
  21. "_processLogin": "usernamepassword",
  22. "_processLogin": "usernamepassword"
  23. }
  24.  
  25. r.post('https://cryptotalk.org/login/', headers)
  26. time.sleep(2)
  27. def getLastComment(URL):
  28. l_comment_soup = soup(r.get(URL).content, 'html.parser')
  29. l_list = l_comment_soup.select('div[data-role=commentContent]')
  30. i = 1
  31. for el in l_comment_soup.select('div[data-role=commentContent]'):
  32. if i == 2:
  33. el = str(el)
  34. text_builder = el.replace('<div class="ipsType_normal ipsType_richText ipsContained" data-controller="core.front.core.lightboxedImages" data-role="commentContent">', '')
  35. text_builder = el.replace('</div>', '')
  36. text_builder = el.replace('\n', '')
  37. return text_builder
  38. i+=1
  39. def getLastSeenID(URL):
  40. l_comment_soup = soup(r.get(URL).content, 'html.parser')
  41. l_list = l_comment_soup.select('article')
  42. return l_list[-1].get('id').replace("elComment_", "")
  43. def getRandomTopic(URL):
  44. l_topic_soup = soup(r.get(URL).content, 'html.parser')
  45. li = l_topic_soup.find('div', {'class': 'ipsContained'})
  46. children = li.find("a" , recursive=False)
  47. print('Найден топик с названием: ' + children.text)
  48. print(children.get('href'))
  49. return children.get('href')
  50. def sendMessage(URL, text):
  51. l_message_soup = soup(r.get(URL).content, 'html.parser')
  52. csrf = l_message_soup.select('input[name=csrfKey]')[0]['value']
  53. id = str(l_message_soup.find('body').get('data-pageid'))
  54. commentform_submit = "commentform_" + id + "_submitted"
  55. uploadCode = l_message_soup.select(f'input[name=topic_comment_{id}_upload]')
  56. topic_comment = 'topic_comment_' + id
  57. upload = topic_comment + "_upload"
  58. plupload = l_message_soup.select('input[name=plupload]')[0]['value']
  59. header = {
  60. commentform_submit:1,
  61. "csrfKey":csrf,
  62. "_contentReply": 1,
  63. "MAX_FILE_SIZE": 2097152,
  64. "plupload": plupload,
  65. topic_comment:text,
  66. upload:uploadCode,
  67. "topic_auto_follow":0,
  68. "currentPage":1,
  69. "_lastSeenID":getLastSeenID(URL)
  70.  
  71. }
  72. print(header)
  73. r.post(URL,header)
  74. print("--> Отправлено! Ожидаю 3 минуты <--")
  75. time.sleep(180)
  76.  
  77. while True:
  78. try:
  79. print('-->Получаю рандомный топик из раздела Mobile Apps<--')
  80. topicUrl = getRandomTopic('https://cryptotalk.org/forum/46-mobile-apps/')
  81. print('-->Получен топик! Получаю рандомное сообщение<--')
  82. last_comment = getLastComment(topicUrl)
  83. print("MSG:\n" + str(last_comment))
  84. print('-->Отправляю сообщение!<--')
  85. sendMessage(str(topicUrl), str(last_comment))
  86. except:
  87. print("хуйочка")
Advertisement
Add Comment
Please, Sign In to add comment