[ka6] fix connecteur cabanedupicbois.com: BOM UTF-8 (\xef\xbb\xbf) émis par le serveur WP causait l'échec de r.json() — re-décodage utf-8-sig en fallback avant d'escalader vers Scrapfly
1 changed file +7 −1
modified
fabrika/connectors/woocommerce.py
+7 −1
@@ -17,7 +17,13 @@ class WooCommerceConnector(BaseConnector): | ||
| 17 | 17 | """JSON direct, sinon Scrapfly (Cloudflare & cie) en dernier recours.""" |
| 18 | 18 | try: |
| 19 | 19 | r = self.get(url) |
| 20 | − return r.json() | |
| 20 | + try: | |
| 21 | + return r.json() | |
| 22 | + except ValueError: | |
| 23 | + # Certains serveurs WP émettent un BOM UTF-8 (\xef\xbb\xbf) avant | |
| 24 | + # le JSON — utf-8-sig le retire proprement (ex. cabanedupicbois.com). | |
| 25 | + import json as _json | |
| 26 | + return _json.loads(r.content.decode("utf-8-sig")) | |
| 21 | 27 | except Exception as exc: |
| 22 | 28 | from . import scrapfly |
| 23 | 29 | if scrapfly.available(): |
| 24 | 30 | |