2017-11-18 1 views
0

텍스트 형식으로 표시되지하고 HTML이처럼 보이는 :파이썬 요청 : 페이지의 HTML 내가이 페이지에 액세스하려고

?2?pɢ???=???I????܉??s???? [??AX#?`s??5???2`?| ,q?ɲ?=h?}VTŬ~?Y?}u3cx?pȢ?K_Ol&ɡ??'N??Y??n5?890??G???&$?%J#?ܩ?ѡ 
1?y??? 
$] &'ι?\[email protected]?C?$??K? ??iu"T?M 
    ?6>?&5?:??sJ???xi???V??N??????3R7u??ǹ??7qs??<*[email protected]? 
EWu}??'F??Z??߶O?????Fc۰?S???h??/????h???[kS(      f?\˹[email protected]???7_~~??*'?Jq??i?͛?J?W?T?Y]S??ӫ?~??k՘H?? 
w?L??ws??M?h?V?؊<[ ? 
??A?G?w? 

그 무엇입니까? 그것은 어떤 인코딩/디코딩 것입니까? html을 보는 방법?

코드

은 여기에 있습니다 :

import requests 
from bs4 import BeautifulSoup 
import json 



headers_initial = { 
     'user-agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36', 
     'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 
     'accept-encoding': 'gzip, deflate, br', 
     'accept-language': 'en-US,en;q=0.9', 
     'cache-control': 'no-cache', 
     'upgrade-insecure-requests': '1', 
    }  
r = requests.get('https://www.example.com/', headers=headers_initial) 
     if r.status_code == 200: 
      html = r.text.strip() 
      print(html) 
+1

관련 코드 표시 –

+0

@Argus done .. 코드가 추가되었습니다. – Volatil3

+0

'headers_initial'이란 무엇입니까? – Derlin

답변

2

문제는 헤더에서 비롯됩니다. accept-encoding 만 제거하면 정상적으로 작동합니다.

편집 : accept-encoding은 압축 된 데이터를 처리 할 수 ​​있는지 여부를 지정합니다. requests이 아니므로 헤더를 지정해야하는 경우 identity 속성을 사용하십시오. "그냥 압축하지 않고 보내주십시오"라는 의미입니다.

+0

Oh My God !! 하지만 .. 브라우저를 통해 액세스되는 페이지에는 이러한 문제가 없었습니다 – Volatil3

+1

브라우저는 작은 파이썬 라이브러리와 동일한 기능을 가지고 있지 않습니다 :) – Derlin

+0

또한 브라우저는 해당 제목을 보내지 않았습니다. 왜 그걸 보낸거야? –

관련 문제