Web Page를 크롤링을 하다보면 차단되었던 경험이 다들 한번씩은 있으실 겁니다.
이때 필요한게 User Agent지정입니다.
User Agent란?
간단히 말해 소프트웨어의 식별 정보입니다.
내가 어떤 OS를 사용하는지 어떤 버전의 웹 브라이저인지를 담고 있는 정보입니다.
html문서의 정보를 가져오는 간단한 코드입니다.
from bs4 import BeautifulSoup as BS
import request
url = 'url'
response = requests.get(url)
print(response.status_code)
print(response.text)
이렇게도 웹페이지에 접속해서 html정보를 가져올 수 있지만 웹페이지 마다 다르지만 User Agent 를 검사 시 차단당할 수 도 있습니다.
from bs4 import BeautifulSoup as BS
import requuest
header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36'}
url = 'url'
response = requests.get(url, headers=header)
if response.status_code == 200:
print(response.status_code)
soup = BS(response.text, 'html.parser')
print(soup)
위 코드처럼 header로 접근 시 더 안정적으로 크롤링을 할 수 있습니다.
다만, 실제로 우리가 웹 브라우저에 접속해서 들어가는 User Agent를 100% 로 전달하는건 쪼끔 힘들다고 생각합니다.
그렇지만 header의 정보 값만 넣어준다면 이전 보다 안정적이라고는 말씀드릴 수 있습니다.
User Agent 확인 사이트
UserAgentString.com - unknown version
www.useragentstring.com
해당 사이트에 접속해서 확인 가능합니다.
User Agent String explained를 복사해서 사용하시면 됩니다.
감사합니다.
'python' 카테고리의 다른 글
python list element count (collections.Counter) (0) | 2023.11.15 |
---|---|
python list unique 값 확인 하는 방법 (0) | 2023.11.15 |
python을 활용하여 json 데이터 받아오기 (df 변환) (0) | 2023.08.28 |