인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

SJ J님의 프로필 이미지
SJ J

작성한 질문수

[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

크롤링을 하고 싶은 사이트가 있는데요. 막히네요

작성

·

153

0

response = requests.get('https://kor.lottedfs.com/kr/product/productDetail?prdNo=20000731813&prdOptNo=20000908364&dispShopNo1=10031760&dispShopNo2=10031840&dispShopNo3=10032224')
html = response.text
soup = BeautifulSoup(html, 'html.parser')
response.text

이와 같이 들어가면 캡챠화면이 뜨는데 셀레니움으로 작접들어가는거 말고는 방법이 없을까요?

답변 1

0

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

import requests

headers = {
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
    'accept-language': 'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36',
}

params = {
    'prdNo': '20000731813',
    'prdOptNo': '20000908364',
    'dispShopNo1': '10031760',
    'dispShopNo2': '10031840',
    'dispShopNo3': '10032224',
}

response = requests.get('https://kor.lottedfs.com/kr/product/productDetail', params=params, headers=headers)
print(response.text)

이런식으로 헤더를 한번 추가해 보실래요?

근데 여러번 시도하면 사이트에서 비정상적인 접근으로 판단하고 봇으로 탐지하네요

셀레니움을 사용하는게 더 나을거 같습니다 ㅎㅎ

SJ J님의 프로필 이미지
SJ J

작성한 질문수

질문하기