Bläddra i källkod

更新:apparent_encoding 到非 'utf-8' 编码强制使用 'utf-8'编码

dongzhaorui 3 år sedan
förälder
incheckning
a8f527a19b
1 ändrade filer med 4 tillägg och 0 borttagningar
  1. 4 0
      find_source/crawler/download.py

+ 4 - 0
find_source/crawler/download.py

@@ -3,6 +3,7 @@ import urllib3
 from requests.models import Response
 from requests.models import Response
 
 
 from config.load import headers
 from config.load import headers
+from settings import SPECIAL_ENCODINGS
 
 
 urllib3.disable_warnings()
 urllib3.disable_warnings()
 
 
@@ -41,6 +42,9 @@ class Downloader:
         while retries < self.max_retries:
         while retries < self.max_retries:
             try:
             try:
                 response = requests.get(url, **request_params)
                 response = requests.get(url, **request_params)
+                response.encoding = response.apparent_encoding
+                if response.encoding in SPECIAL_ENCODINGS:
+                    response.encoding = 'utf-8'
                 break
                 break
             except requests.exceptions.SSLError as e:
             except requests.exceptions.SSLError as e:
                 response.reason = e.__class__.__name__
                 response.reason = e.__class__.__name__