Je suis en train d'extraire les sources de <iframes>
attributs comme ceux-ci:Python - ValueError: type url inconnu
iframes = [<iframe frameborder="no" height="160px" scrolling="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/308197184%3Fsecret_token%3Ds-VtArH&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&visual=true" width="100%"></iframe>, <iframe allowtransparency="true" frameborder="0" scrolling="no" src="//www.facebook.com/plugins/likebox.php?href=https%3A%2F%2Fwww.facebook.com%2FPauseMusicale&width=300&height=62&show_faces=false&colorscheme=light&stream=false&show_border=false&header=false" style="border:none; overflow:hidden; width:300px; height:62px;"></iframe>, <iframe allowfullscreen="" frameborder="0" height="169" src="//www.youtube.com/embed/videoseries?list=PLNKCTdT9YSESoQnj5tPP4P9kaIwBCx7F1" width="100%"></iframe>]
mais lorsque je tente de l'extraire:
for iframe in iframes:
url = urllib2.urlopen(iframe.attrs['src'])
print (url)
Je reçois l'erreur suivante :
url = urllib2.urlopen(iframe.attrs['src'])
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 154, in urlopen
return opener.open(url, data, timeout)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 423, in open
protocol = req.get_type()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 285, in get_type
raise ValueError, "unknown url type: %s" % self.__original
ValueError: unknown url type: //www.facebook.com/plugins/likebox.php?href=https%3A%2F%2Fwww.facebook.com%2FPauseMusicale&width=300&height=62&show_faces=false&colorscheme=light&stream=false&show_border=false&header=false
Pourquoi ai-je url sans http
avant la //www
?
Y at-il une solution de contournement?
Lorsque des sites Web utilisant des certificats SSL (HTTPS), un moyen sûr de supprimer les erreurs et les connexions non sécurisées est de faire: "//facebook.com" qui prendra la connexion si c'est http ou https. Essayez de mettre 'https:' avant la variable url et voyez si cela fonctionne comme ça. – Lewis