Bonjour, je tente de parser une page web pour mon application, mais mes tests ne sont pas très concluant...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import urllib
import urllib.request
from http.cookiejar import CookieJar
import chardet
 
 
url = 'https://www.dofus.com/fr/mmorpg/encyclopedie/equipements/14080-amulette-seculaire'
 
req = urllib.request.Request(url, None, {'User-Agent': 'Mozilla/5.0 (X11; Linux i686; G518Rco3Yp0uLV40Lcc9hAzC1BOROTJADjicLjOmlr4=) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8','Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3','Accept-Encoding': 'gzip, deflate, sdch','Accept-Language': 'en-US,en;q=0.8','Connection': 'keep-alive'})
cj = CookieJar()
 
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
response = opener.open(req)
html = response.read()
response.close()
 
print(chardet.detect(html))
et j'obtient {'encoding': None, 'confidence': 0.0, 'language': None} ..
J'ai tenter de décoder en utf-8 mais .. UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte.

Pourtant dans le code source de la page <meta http-equiv="content-type" content="text/html; charset=UTF-8">...

Alors est-ce que j'ai mal compris un truc et je suis à coté de la plaque ou bien ?