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

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

thehohyeon님의 프로필 이미지

작성한 질문수

실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용

뷰티풀수프(beautifulsoup) 기초 사용법

증권, 메일 등 서비스 목록을 못가져와요 ㅠㅠ

작성

·

216

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
해당 사항에 대해서는 위 영상을 참고해 주세요.
일단 뷰티풀수프 사용법을 익히면서 강의를 진행하시고 셀레니움까지 배우고 나면
아주 간단하게 네이버 메인화면 크롤링이 가능하실 겁니다.

thehohyeon님의 프로필 이미지
thehohyeon
질문자

아하 영상보고 쉽게 이해했습니다. 감사합니다.