작성
·
143
1
네이버 메인 화면에서 증권, 메일 등 서비스 목록을 못가져와요 ㅠㅠ
클래스를 여러가지로 바꿔도 아래와 같이 none로 안나오는데 도움주시면 감사하겠습니다.
import requests
from bs4 import BeautifulSoup
url = "https://www.naver.com"
print(url)
headers = {
"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"
}
req = requests.get(url, headers=headers)
html = req.text
soup = BeautifulSoup(html, "html.parser")
print(soup.title)
# 아래 3개 모두 h1 태크 하나를 가져오는 똑같은 결과가 나온다. 즉 방법이 여러가는 라는 말이다.
#방법1
print(soup.h1)
#방법2
h1 = soup.find('h1')
print(h1)
#방법3
h1 = soup.select_one('h1')
print(h1)
# find로 찾을 때 id는 id = 으로 넣고, class는 class_ 이렇게 언더바 넣어야 함
# class에 언더바를 넣는 이유는 class가 파이썬에 예약어로 등록되어 있기 때문이다.
h1 = soup.find(class_="search_logo")
print(h1)
h1 = soup.find(id="special-input-logo")
print(h1)
service_name = soup.find(class_="service_name", string="증권")
print(service_name)
shortcut_item = soup.find(class_="shortcut_item", string="증권")
print(shortcut_item)
link_service = soup.find(class_="link_service", string="증권")
print(link_service)
shortcut_list = soup.find(class_="shortcut_list")
print(shortcut_list)
"""출력값
https://www.naver.com
<title>NAVER</title>
<h1 class="search_logo" id="special-input-logo"></h1>
<h1 class="search_logo" id="special-input-logo"></h1>
<h1 class="search_logo" id="special-input-logo"></h1>
<h1 class="search_logo" id="special-input-logo"></h1>
<h1 class="search_logo" id="special-input-logo"></h1>
None
None
None
None"""
답변 1
0
현재 네이버 메인화면은 뷰티풀수프만으로 크롤링이 불가능합니다.
https://youtu.be/go1D0f0lLvw
해당 사항에 대해서는 위 영상을 참고해 주세요.
일단 뷰티풀수프 사용법을 익히면서 강의를 진행하시고 셀레니움까지 배우고 나면
아주 간단하게 네이버 메인화면 크롤링이 가능하실 겁니다.
아하 영상보고 쉽게 이해했습니다. 감사합니다.