반응형
import requests
from bs4 import BeautifulSoup
headers = {'UserAgent':'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
url = 'https://news.naver.com/main/main.nhn?mode=LSD&mid=shm&sid1=105'
까지는 정상적으로 실행되지만
하단 코드 실행시 오류 발생.
res = requests.get(url, headers=headers)
ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
이유?
- 무분별한 크롤링을 막기위해 네이버에서 자신들이 허용하지 않는 방식으로 접근하는 호출을 걸러내기 때문
수정전
'UserAgent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
수정후 (수정된 부분 표시)
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"
User-Agent를 수정하니 정상적으로 실행된다.
전체 코드
import requests
from bs4 import BeautifulSoup
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"}
url = 'https://news.naver.com/main/main.nhn?mode=LSD&mid=shm&sid1=105'
res = requests.get(url, headers=headers)
print(res) # 200값 반환되면 정상실행
반응형
'● 크롤링, 자동화 > BeautifulSoup' 카테고리의 다른 글
크롤링 후 불필요한 문자들, 특수문자들 제거하기 (0) | 2021.02.01 |
---|---|
2차원 리스트를 1차원 리스트로 바꾸자 (0) | 2021.02.01 |
[잔재미코딩] [복습] naver datalab (0) | 2021.02.01 |
[나도코딩] 파이썬 코딩 무료 강의 (활용편3) - 웹 크롤링? 웹 스크래핑! 4. find_all, for 문 (0) | 2020.08.29 |
[나도코딩] 파이썬 코딩 무료 강의 (활용편3) - 웹 크롤링? 웹 스크래핑! 3 : attrs, find, class, sibling, siblings (0) | 2020.08.28 |