웹 크롤링
영화제목 가져오기
# 라이브러리 설치
# 터미널 >
# pip install requests
# pip install beautifulsoup4
# pip install lxml
import requests
from bs4 import BeautifulSoup
# 특정 사이트의 html 가져오기
url = "https://movie.naver.com/movie/bi/mi/basic.naver?code=74977"
html = requests.get(url)
# print(html)
# html 분석
soup = BeautifulSoup(html.text, 'lxml')
# 영화 제목
h3 = soup.find('h3', class_='h_movie')
a = h3.find('a')
text = a.get_text()
# print(h3)
# print(a)
print(text)
Python
복사
뉴스 기사 가져오기
# 웹 크롤링
# pip install requests
# pip install beautifulsoup4
# pip install lxml
# import : 모듈, 패키지를 포함하는 키워드
import requests
from bs4 import BeautifulSoup
# 'User-Agent' 헤더 추가 (사용자 정보)
# http://m.avalon.co.kr/check.html <- 여기서 복사
headers = {
'User-Agent' : ('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'),
}
url = "https://news.naver.com/main/main.naver?mode=LSD&mid=shm&sid1=105"
html = requests.get(url, headers=headers)
print(html)
# html 분석
soup = BeautifulSoup(html.text, 'lxml')
# # 선택자로 지정해서 태그 가져오기
newsList = soup.select('.sh_item')
# 뉴스 제목
# 기사내용
# 신문사
# --------------
# 제목 (신문사)
# : 기사내용
# --------------
for news in newsList:
title = news.select('.sh_text_headline')[0].get_text()
company = news.select('.sh_text_press')[0].get_text()
content = news.select('.sh_text_lede')[0].get_text()
print('----------------------------')
print('{} ({})'.format(title, company))
print(' : {}'.format(content))
print('----------------------------')
# 위의 형식으로 출력해보세요...
# print(news)
Python
복사