본문 바로가기
python/webscraping

[Python webscraping] #3 User agent

by ohojee 2022. 12. 16.

 

전체 소스코드
import requests
url = "http://nadocoding.tistory.com"
headers = {"User-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"}
res = requests.get(url, headers=headers)
res.raise_for_status() 
with open("nadocoding.html", "w", encoding="utf8") as f:
    f.write(res.text)
 
 

User agent

웹사이트에서는 접속하는 사용자의 정보를 알 수 있다

예를 들면 모바일버전과 pc버전의 화면이 다른 것 같이 말이다

사람이 접속하는 것이 아니라 크롤링, 스크래핑하는 컴퓨터가 접속한다고하면

부화가 걸릴 수 있고 정보를 뺏길 수 있기 때문에 접속을 차단할 수 있다

그래서 에러가 뜨는 것

 

이걸 user agent를 통해 해결할 수 있다

 

아래 사이트에 들어가면 현재 사용하고 있는 브라우저에서 접속하고 있는 user agent 정보가 나온다

 

https://www.whatismybrowser.com/detect/what-is-my-user-agent/

 

그러면 크롬에서 접속했을 때와 같이 제대로 페이지 내의 모든 정보를 가져올 수 있다

url = "http://nadocoding.tistory.com"
headers = {"User-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"}
res = requests.get(url, headers=headers)
 

앞에서는 .get() 안에 url만 넣었지만

url만 넣어서 에러가 뜨는 경우에는 headers=를 넣어주면 된다

headers에는 위의 사이트에서 가져온 user agent를

{"User-agent":"user agent 주소"} 안에 넣어주면 된다

 

 

'python > webscraping' 카테고리의 다른 글

[Python webscraping] #4 BeautifulSoup  (0) 2022.12.16
[Python webscraping] #2 RegExp(정규식)  (1) 2022.12.16
[Python webscraping] #1 Requests  (0) 2022.12.16

댓글