본문 바로가기

BLOG/웹크롤링

[웹크롤링] 쿠팡 사이트 크롤링 - 오류 없이 접속하는 방법 (requests 사용)

 

selenium, 크롬 드라이버를 이용해서 쿠팡 사이트에 접속하는 방법은 쉬운데요,

이번 글에서는 requests 라이브러리를 이용하여 쿠팡 사이트에 접속하는 방법에 대해 알아보도록 하겠습니다.

 

 

먼저, 기본적으로 원하는 페이지에 접속하는 코드는 다음과 같습니다.

 

from bs4 import BeautifulSoup   
import requests

url = "https://www.coupang.com/" 
resp = requests.get(url)

print(resp)

 

보통 url에 해당 주소를 입력하고 requests.get(url)로 접속한 뒤 반환된 값을 출력하면 Response [200] 이 출력되어야 하는데요, 위 코드와 같이 쿠팡 주소를 입력한 뒤 접속을 하면 반환값이 출력되지 않고 무한로딩이 됩니다.

 

이는 접속이 계속 안되는 상황인데요, 쿠팡 페이지 쪽에서 접속하는 사용자가 사람이 아니라 판단해 이를 막은 것입니다. 따라서 사람이 접속하고 있음을 나타내는 정보를 함께 입력해주어야 하는데요, 헤더값을 입력해주면 됩니다.

 

보통, 헤더값은 User Agent를 이용하는데요, User Agent는 http://www.useragentstring.com/에 접속해서 "Mozilla/5.0~" 라고 길게 작성되어 있는 텍스트를 복사하면 됩니다.

 

현재 기준 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/87.0.4280.141 Safari/537.36" 라고 적혀져 있습니다.

 

그리고나서 아래와 같이 코드를 수정해줍니다.

 

from bs4 import BeautifulSoup   
import requests

url = "https://www.coupang.com/" 

user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"
hdr = {'User-Agent': user_agent}
resp = requests.get(url, headers=hdr)

print(resp)

 

위 코드를 보면, 헤더값을 user_agent 라는 변수에 저장해주었고, 이를 딕셔너리 형태로 저장한 다음, requests.get() 함수에 url 다음에 헤더값의 인자로 넣어주었습니다.

 

이렇게 입력한 뒤, resp 를 출력해보면 바로 <Response [200]> 가 나오는 것을 확인할 수 있답니다. 이는 쿠팡 페이지에 접속이 되었다는 것을 뜻합니다.

 

그리고나서, 원하는 코드를 입력하면 됩니다.

 

 

이렇게, requests를 사용해서 쿠팡 사이트에 오류 없이 접속하는 방법에 대해 살펴보았는데요, 실제로 헤더값을 필요로 하는 페이지가 많답니다. 따라서 이러한 코드를 기본적으로 작성하는 것에 대해서 잘 알아두시기 바랍니다 :D