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

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

thehohyeon님의 프로필 이미지
thehohyeon

작성한 질문수

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

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

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

작성

·

144

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
질문자

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

thehohyeon님의 프로필 이미지
thehohyeon

작성한 질문수

질문하기