Загрузка...

Imgur Photo Scraper

Thread in Python created by murser Sep 17, 2019. 311 views

  1. murser
    murser Topic starter Sep 17, 2019 Курлыкает на онемэ 12 Apr 25, 2017
    Code

    import requests
    import threading
    import shutil
    import concurrent.futures
    import random
    import hmac, hashlib
    import os

    headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
    alph = "aA8b0B0cC1dDe2EfF3gGh4HiI5jKk6LlM7m1N6n8OoP9pQq6RrSsTt5Uu9Vv2WwVxX3y4YzZ"
    n = []

    def gen():
    g = random.choices(population=alph, k=7)
    return ("".join(g))

    def down(url):
    r = requests.get(url, stream=True,headers=headers)
    if r.status_code == 200:
    with open("img/%s" %(url.split("/")[-1]) , 'wb') as f:
    r.raw.decode_content = True
    shutil.copyfileobj(r.raw, f)
    if hmac.new(bytearray('signature','utf-8'), bytearray(r.text,'utf-8'), hashlib.sha256).hexdigest() == "4b227e6257f16f58a2ed40a91998ae943a5ea5cc7bbb08932293ca6f613ccd65":
    os.remove("img/%s" %(url.split("/")[-1]))
    else:
    print("Saved: %s" %url)
    n.append(1)
    if len(n) % 200 == 0:
    print("Used: %s"%len(n))

    with concurrent.futures.ThreadPoolExecutor(max_workers=200) as executor:
    threads=[executor.submit(down,"https://i.imgur.com/%s.png"%gen()) for i in range(10000)]


    Небольшой пост, посвященный скраперу фоток, он генерирует ссылку на фото и если это фото было загружено пользователем, то оставляет его в папке img. Работает в 200 потоков (поменять max_workers, для каждого компьютера и интернета свой параметр) в последней строке "for i in range(10000)" вместо 10000 можна написать любое число генераций, ссылки.
    Кстати, еще написал такой-же для prnt. sc, но вот с ним все немного сложнее и легче одновременно, там защита от парсинга но, фотографии попадаються в 98% запросов, за сегодня на него убил 3к ******, среди картинок, есть паспорта, карточки, *********,пароли и всякий шлак(в основном шлак).
    А теперь главный вопрос у кого-нибудь есть варианты как парсить prnt. sc, не перебирая тысячи ******? Мой вариант через tor, но скорость упадет, да и работать будет лишь на linux, вроде.
     
Loading...
Top