Created
April 4, 2017 05:11
-
-
Save totetmatt/0772cf5e163453c8d20bf3a8fe9a5dd6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import requests | |
import re | |
# Avoir les liens d'une video youtube.com/watch?v=id | |
def link(id): | |
# Regex utilisé parce que le service de liens ne retourne pas un Json valide et du coup c'est plus rapide | |
prog= re.compile('"videoId":"(.*?)"', re.MULTILINE) | |
# Service qui donne les liens embarqués dans une vidéo | |
req = requests.get('https://www.youtube.com/get_endscreen?v=%s'%id) | |
# Trouver tout les liens | |
result = prog.findall(req.content.decode('UTF-8')) | |
for r in result: | |
print(id,',',r) # Print pour générer le csv (stdout) | |
return result | |
l = ['EZGra6O8ClQ','cUAPNwbZNzg'] # Vidéo de départ | |
visited = [] # Vidéos visités | |
while l: # Tant qui a une vidéo a visiter | |
id = l.pop() # On la sort | |
if id not in visited: # Si on a pas déjà visité on l'ajoute au visited et on regarde les prochains | |
visited.append(id) | |
nxt = link(id) | |
for n in nxt: | |
l.append(n) # On ajoute les liens au "prochains a visiter" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment