Skip to content

Instantly share code, notes, and snippets.

@frozenpandaman
Last active March 16, 2022 15:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save frozenpandaman/fedd8efeb5074e07764efd9de3d50d55 to your computer and use it in GitHub Desktop.
Save frozenpandaman/fedd8efeb5074e07764efd9de3d50d55 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
import urllib.request, itertools, datetime, os
from bs4 import BeautifulSoup
def main():
eps = ["S1",
"https://www.imdb.com/title/tt4593118/",
"https://www.imdb.com/title/tt4593122/",
"https://www.imdb.com/title/tt4593126/",
"https://www.imdb.com/title/tt4593124/",
"https://www.imdb.com/title/tt4593128/",
"https://www.imdb.com/title/tt4593132/",
"https://www.imdb.com/title/tt4593134/",
"https://www.imdb.com/title/tt4593138/",
"S2",
"https://www.imdb.com/title/tt6020684/",
"https://www.imdb.com/title/tt6020792/",
"https://www.imdb.com/title/tt6020796/",
"https://www.imdb.com/title/tt6020802/",
"https://www.imdb.com/title/tt6020806/",
"https://www.imdb.com/title/tt6020808/",
"https://www.imdb.com/title/tt6020810/",
"https://www.imdb.com/title/tt6020812/",
"https://www.imdb.com/title/tt6020876/",
"S3",
"https://www.imdb.com/title/tt7445494/",
"https://www.imdb.com/title/tt7640050/",
"https://www.imdb.com/title/tt7911866/",
"https://www.imdb.com/title/tt7911884/",
"https://www.imdb.com/title/tt7911894/",
"https://www.imdb.com/title/tt7911914/",
"https://www.imdb.com/title/tt7911930/",
"https://www.imdb.com/title/tt7911942/"]
s123output = ""
for ep in eps:
if ep == "S1":
pass
# print("Season 1:")
elif ep == "S2":
pass
# print("\nSeason 2:")
elif ep == "S3":
pass
# print("\nSeason 3:")
else:
page = urllib.request.urlopen(ep).read()
bs = BeautifulSoup(page, "lxml")
rating = bs.find("span", {"class": "jGRxWM"})
if not rating:
rating = bs.find("span", {"itemprop": "ratingValue"})
if ep == eps[8] or ep == eps[18] or ep == eps[27]:
delimit = "/"
else:
delimit = ", "
s123output += rating.text + delimit
s1output = s123output.split("/")[0].replace(" ", " ")
s2output = s123output.split("/")[1]
s3output = s123output.split("/")[2]
firstline = -1
secondline = -1
thirdline = -1
with open("/home/public/stranger.html", 'r') as myFile:
for num, line in enumerate(myFile, 1):
if "INSERT ONE" in line:
firstline = num-1
elif "INSERT TWO" in line:
secondline = num-1
elif "INSERT THREE" in line:
thirdline = num-1
theyr = str(datetime.datetime.now().year)
themo = str(datetime.datetime.now().month - 1).rjust(2)
theday = str(datetime.datetime.now().day).rjust(2)
with open("/home/public/stranger.html", 'r') as myFile:
with open("/home/public/stranger_new.tmp", 'w+') as tmpFile:
for line in itertools.islice(myFile, 0, firstline):
tmpFile.write(line)
line1 = "\t\t[new Date({}, {}, {}), {}],\n".format(theyr, themo, theday, s1output)
tmpFile.write(line1)
tmpFile.seek(0, 2) # seek to end
myFile.seek(0) # seek to start
for line in itertools.islice(myFile, firstline, secondline):
tmpFile.write(line)
line2 = "\t\t[new Date({}, {}, {}), {}],\n".format(theyr, themo, theday, s2output)
tmpFile.write(line2)
tmpFile.seek(0, 2)
myFile.seek(0)
for line in itertools.islice(myFile, secondline, thirdline):
tmpFile.write(line)
line3 = "\t\t[new Date({}, {}, {}), {}],\n".format(theyr, themo, theday, s3output)
tmpFile.write(line3)
tmpFile.seek(0, 2)
myFile.seek(0)
for line in itertools.islice(myFile, thirdline, None):
tmpFile.write(line)
os.remove("/home/public/stranger.html")
os.rename("/home/public/stranger_new.tmp", "/home/public/stranger.html")
if __name__=="__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment