Appia의 IT세상

Python[파이썬 웹크롤러] 02-WebCrawler 사이트의 헤더 읽어오기(requests) 본문

Python/Python Crawler[크롤러]

Python[파이썬 웹크롤러] 02-WebCrawler 사이트의 헤더 읽어오기(requests)

Appia 2020. 7. 22. 07:15
반응형

Python[파이썬 웹크롤러] 02-WebCrawler 사이트의 헤더 읽어오기

 

이번 포스팅은 웹사이트에서 헤더 파일을 읽어오는 방법에 대해서 살펴보고자 합니다. 이번에도 앞서 포스팅과 동일하게 requests 모듈을 활용하고자 합니다. 일단 앞서 코드에서와 동일하게 사용하는 부분에서 추가로 한가지 부분을 더 살펴보고자 합니다. 

 

일단 먼저 다음 코드를 한번 살펴보겠습니다. 

import requests as rq
 
url = 'https://appia.tistory.com'
 
result = rq.get(url)
 
print(result.headers)
 
for i in result.headers:
 
    print(i)
cs

 

위의 형태을 코드를 실행하면 다음과 같은 결과가 나옵니다. 

{'Date': 'Sun, 31 May 2020 02:24:44 GMT', 'Server': 'Apache', 'Last-Modified': 'Thu, 28 May 2020 08:34:12 GMT', 'ETag': '"723-5a6b13169e900"', 'Accept-Ranges': 'bytes', 'Content-Length': '1827', 'Content-Type': 'text/html'}
Date
Server
Last-Modified
ETag
Accept-Ranges
Content-Length
Content-Type

위에서 보면 쉽게 알수 있듯이 Header 부분을 딕셔너리 형태로 받아옵니다. 하지만, 모든 사이트가 동일한 헤더(Header)이지 않습니다. 그럼 다른 사이트인 naver.com의 헤더를 받아오면 다음과 같은 형태입니다. 

{'Server': 'NWS', 'Date': 'Sun, 31 May 2020 02:49:07 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Set-Cookie': 'PM_CK_loc=a8df1846ce4ca7ad4272d00aa0cfb161759642475e1fcae58e45ea433da9fb6f; Expires=Mon, 01 Jun 2020 02:49:07 GMT; Path=/; HttpOnly', 'Cache-Control': 'no-cache, no-store, must-revalidate', 'Pragma': 'no-cache', 'P3P': 'CP="CAO DSP CURa ADMa TAIa PSAa OUR LAW STP PHY ONL UNI PUR FIN COM NAV INT DEM STA PRE"', 'X-Frame-Options': 'DENY', 'X-XSS-Protection': '1; mode=block', 'Content-Encoding': 'gzip', 'Strict-Transport-Security': 'max-age=63072000; includeSubdomains', 'Referrer-Policy': 'unsafe-url'}
Server
Date
Content-Type
Transfer-Encoding
Connection
Set-Cookie
Cache-Control
Pragma
P3P
X-Frame-Options
X-XSS-Protection
Content-Encoding
Strict-Transport-Security
Referrer-Policy

동일한 부분들도 존재하지만, 즉 필수적인 부분이 아니라면, 반드시 헤더에 포함될 필요는 없습니다. 여기에서 Set-Cookie등이 다른 사람들에게 많이 사용됩니다. 

 

이번 포스팅에서는 Python[파이썬 웹크롤러] 02-WebCrawler 사이트의 헤더 읽어오기라는 주제로 포스팅을 해봤습니다. 보시는 바와 같이 데이터를 딕셔너리 형태로 받아와서 활용할 수 있씁니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다. 

반응형
Comments