반응형
맞게 쳤는데도 잘 안될 때 이렇게 페이지를 다운받아서 켜보면 내가 보는 창과 다른 경우가 있다.
with open('movie.html', 'w', encoding="utf-8-sig") as f:
f.write(soup.prettify())
#html문서 예쁘게
이는 내가 접속하는 페이지에서,
헤더가 다르거나, 언어가 다르면 다른 방식으로 뿌려주기 때문이다.
따라서 내가 사용하고 있는 브라우저와 언어를 맞춰줘야한다.
#한글페이지 요청
headers = {
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Whale/2.9.116.15 Safari/537.36",
"Accept-Language":"ko-KR,ko"
}
import csv
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/86.0.4240.198 Whale/2.9.116.15 Safari/537.36",
"Accept-Language":"ko-KR,ko"
}
url='https://play.google.com/store/movies'
res = requests.get(url, headers=headers)
res.raise_for_status()#접근문제없는지 확인
soup = BeautifulSoup(res.text, "html.parser")
movies = soup.find_all("div",attrs={"class":"ULeU3b neq64b"})
print(movies)
# 안가져와질 때 에러확인할 때 페이지 로딩해서 해봄.
# 해외페이지거나, 동적페이지는 잘 안됨. = 클래스가 달라짐
# 이런 경우 헤더 추가 필요
with open('movie.html', 'w', encoding="utf-8-sig") as f:
f.write(soup.prettify())
#html문서 예쁘게
반응형
'개발 > python' 카테고리의 다른 글
textarea 내용 크롤링 잘 안될 때 (0) | 2022.04.06 |
---|---|
셀레니움 스크롤 끝까지 내리기 (0) | 2022.04.06 |
아나콘다 쓸 때 화면 넓게보기 (0) | 2022.04.06 |
데이터프레임 행 세로로 들어갈 때(리스트) (0) | 2022.04.06 |
셀레니움 크롤링 값이 안나올 때(text)(frame) (0) | 2022.04.06 |