def gpics(gaiaID, client, cookies, headers, regex_albums, regex_photos, headless=True): baseurl = "https://get.google.com/albumarchive/" print(f"\nGoogle Photos : {baseurl + gaiaID + '/albums/profile-photos'}") out = get_source(gaiaID, client, cookies, headers, headless) if not out: print("=> Couldn't fetch the public photos.") return False if out["stats"] == "notfound": print("=> No album") return False # open('debug.html', 'w').write(repr(out["source"])) results = re.compile(regex_albums).findall(out["source"]) list_albums_length = len(results) if results: exifeater = ExifEater() pics = [] for album in results: album_name = album[1] album_link = baseurl + gaiaID + "/album/" + album[0] album_length = int(album[2]) if album_length >= 1: try: req = client.get(album_link) source = req.text.replace('\n', '') results_pics = re.compile(regex_photos).findall(source) for pic in results_pics: pic_name = pic[1] pic_link = pic[0] pics.append(pic_link) except: pass print( f"=> {list_albums_length} albums{', ' + str(len(pics)) + ' photos' if list_albums_length else ''}" ) for pic in pics: try: req = client.get(pic) img = Image.open(BytesIO(req.content)) exifeater.feed(img) except: pass print("\nSearching metadata...") exifeater.output() else: print("=> No album")
def gpics(gaiaID, client, cfg): baseurl = "https://get.google.com/albumarchive/" print(f"\nGoogle Photos : {baseurl + gaiaID}") req = client.get(baseurl + gaiaID) results = re.compile(cfg["regexs"]["albums"]).findall(req.text) list_albums_length = len(results) if results: exifeater = ExifEater() pics = [] for album in results: album_name = album[1] album_link = baseurl + gaiaID + "/album/" + album[0] album_length = int(album[2]) if album_length >= 1: req = client.get(album_link) source = req.text.replace('\n', '') open('tmp.html', 'w').write(source) results_pics = re.compile( cfg["regexs"]["photos"]).findall(source) for pic in results_pics: pic_name = pic[1] pic_link = pic[0] pics.append(pic_link) print( f"=> {list_albums_length} albums{', '+str(len(pics))+' photos' if list_albums_length else ''}" ) for pic in pics: req = client.get(pic) img = Image.open(BytesIO(req.content)) exifeater.feed(img) print("\nSearching metadata...") exifeater.output() else: print("=> No album")