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))