# 빅데이터 수집 (정적인 데이터 수집 버전)
1. requests.get() 메소드로 웹페이지 요청
2. BS 으로 파싱
3. find/find_all/select 이용하여 원하는 데이터 검색 추출
# 네이버 뉴스
#1. 라이브러리 임포트
import requests
from bs4 import BeautifulSoup
#2. 페이지요청
url = "https://news.naver.com/main/read.naver?mode=LSD&mid=shm&sid1=105&oid=277&aid=0004958097"
headers = {"user-agent" : ""}
res = requests.get(url, headers=headers)
#print(res)
#print(res.status_code)
#print(res.content)
#3. 파싱
soup = BeautifulSoup(res.content, 'lxml') # res는 객체 타입이기 때문에 content로 전달해야함
#print(soup)
print(soup.find('title')) # 태그명으로 가져오기
print(soup.find('h3', id='articleTitle').text) # id값으로 가져오기 # text만 가져오고싶으면 .text
# 본문내용 출력하기
content = soup.find('div', id='articleBodyContents').text
print(content)
# content = content.replace('\n','')
print("=" * 100)
content = content.strip()
print(content)
h3 = soup.select('#articleTitle')
#4. 정제 > 수집한 데이터를 쓰기편한 원하는 형태로 가공하기 : 빅데이터 전처리 과정
# 브라우저를 통해서 요청하지 않았기 때문에 헤더정보가 없어서 난 오류, 헤더정보가 없이 페이지 요청했을시에는 응답하지 않도록 네이버가 막아놓은것
🖥️ console 출력
'basic > python' 카테고리의 다른 글
[python 07] 크롤링(4) - 데이터 처리할때 사용하는 라이브러리 numpy, pandas (0) | 2021.08.26 |
---|---|
[python 06] 크롤링(3) - Selenium 셀레늄 (0) | 2021.08.25 |
python 05 [실습02] - find_all(), select() 함수 사용하여 원하는 태그 찾기 (0) | 2021.08.24 |
python 05 [실습01] 파싱하기, 태그접근하기 (0) | 2021.08.24 |
[python 05] - 크롤링(2) 파싱 (0) | 2021.08.24 |