Bonjour à tous
J'ai un besoin simple : j'ai un nombre assez léger de mot clefs (disons 200, c'est vraiment cet ordre d'idée), pour chacun de ces mots, je veux mettre une thumbnail que j'ai trouvé sur le web.
Comme je ne suis pour l'instant qu'à la phase de POC, je me dis "tiens, je vais automatiser tout ça et je vais trouver des images sur le web".
Je fais donc un script python qui doit aller chercher des images sur l'API Bing. Seulement, j'ai sans cesse cette erreur :
urllib.error.HTTPError: HTTP Error 401: The authorization type you provided is not supported. Only Basic and OAuth are supported
Pourtant, comme vous pouvez le constater, j'utilise bien une Auth basique :
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 | # coding: utf-8 from os.path import isfile as is_file import urllib.request as urllib2 import json import random import base64 def get_first_bing_image(product): product_split = product.split(" ") if(len(product_split) > 3): product = " ".join(product_split[0:3]) key = 'mon vrai nom n est pas artragis' query = product query = urllib2.quote(query) # create credential for authentication user_agent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; FDM; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 1.1.4322)' credentials = base64.b64encode(bytes(':%s' % key, 'ascii'))[:-1] auth = 'Basic %s' % credentials url = 'https://api.datamarket.azure.com/Data.ashx/Bing/Search/Image?Query=%27'+query+'%27&$top=5&$format=json' request = urllib2.Request(url) request.add_header('Authorization', auth) request.add_header('User-Agent', user_agent) request_opener = urllib2.build_opener() response = request_opener.open(request) response_data = response.read() json_result = json.loads(response_data) result_list = json_result['d']['results'] print(result_list) return result_list[0]['MediaUrl'] |
+0
-0