Advertisement
Guest User

prnt.sc parser

a guest
May 23rd, 2019
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.24 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. import os
  3. import sys
  4. import random
  5. import string
  6. import requests
  7. import argparse
  8. import threading
  9. import cfscrape
  10. import string
  11. import re
  12.  
  13. # nsia36
  14. start_string = 'nsj8g4'
  15.  
  16. parser = argparse.ArgumentParser()
  17. parser.add_argument('-t', '--threads', type=int, default=5, help='sets the number of threads')
  18. parser.add_argument('-c', '--charset', default=None,
  19.                     help='sets a character mask for links generating, see README.md for syntax information')
  20. namespace = parser.parse_args()
  21.  
  22. base_file = 'used.txt'
  23. img_dir = 'img'
  24. charset_values = {'?d': string.digits, '?s': string.ascii_lowercase, '?a': string.digits + string.ascii_lowercase}
  25. scraper = cfscrape.create_scraper()
  26. if not os.path.exists(base_file):
  27.     open(base_file, 'a').close()
  28. if not os.path.exists(img_dir):
  29.     os.mkdir(img_dir)
  30.  
  31. def main(string):
  32.     #initial_url = get_string(namespace.charset)
  33.     initial_url = get_string(string)
  34.     full_url = 'http://prnt.sc/' + initial_url
  35.     print('[*] processing link {}'.format(full_url))
  36.     image_link = get_img_link(full_url)
  37.     if image_link:
  38.         print('[+] image found {}'.format(image_link))
  39.         save_img(initial_url, image_link)
  40.     else:
  41.         print('[-] bad luck, moving on')
  42.     return initial_url
  43.  
  44.  
  45. def get_string(mask):
  46.     basefile = open(base_file, 'r')
  47.     base = [item.strip() for item in basefile]
  48.     basefile.close()
  49.     final_string = generate_string(mask)
  50.     if final_string not in base:
  51.         write_to_base(final_string)
  52.     return final_string
  53.  
  54.  
  55. def generate_string(string):
  56.     string_list = []
  57.     for x in string:
  58.         string_list.append(ord(x))
  59.     string_list[5] += 1
  60.     for x in range(len(string_list)):
  61.         #print()
  62.         if string_list[len(string_list) - 1 - x] == 58 or string_list[len(string_list) - 1 - x] == 123:
  63.             if string_list[len(string_list) - 1 - x] == 58:
  64.                 string_list[len(string_list) - 1 - x] = 97
  65.             if string_list[len(string_list) - 1 - x] == 123:
  66.                 string_list[len(string_list) - 1 - x] = 48
  67.             string_list[len(string_list) - 2 - x] += 1
  68.         else:
  69.             pass
  70.     string_return = []
  71.     for x in string_list:
  72.         string_return.append(chr(x))
  73.     str_ret = ''.join(string_return)
  74.     return str_ret
  75.  
  76. def write_to_base(link):
  77.     with open('used.txt', 'a') as base_file:
  78.         base_file.write(link + '\n')
  79.  
  80.  
  81. def get_img_link(link):
  82.     html_response = scraper.get(link).content
  83.     native_img = re.search('http[s]*://image.prntscr.com/image/\w+.png', str(html_response))
  84.     imgur_img = re.search('http[s]*://i.imgur.com/\w+.png', str(html_response))
  85.     if (native_img or imgur_img):
  86.         return (native_img or imgur_img).group()
  87.  
  88.  
  89. def save_img(initial_url, img_link):
  90.     img = requests.get(img_link)
  91.     with open('{0}/{1}.png'.format(img_dir, initial_url), 'wb') as file:
  92.         file.write(img.content)
  93.  
  94.  
  95. def loop(start_string):
  96.     while True:
  97.         tmp_string = start_string
  98.         try:
  99.             main()
  100.         except KeyboardInterrupt:
  101.             sys.exit()
  102.  
  103. while True:
  104.     tmp_string = start_string
  105.     try:
  106.         start_string = main(tmp_string)
  107.     except KeyboardInterrupt:
  108.         sys.exit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement