반응형

- HTML 태그란

   <태그명 속성명="속성값"> 내용 </태그명>

 

- 뉴스데이터 수집하기

1) 크롬에서 네이버 접속하기

  www.naver.com  

 

2) F12 눌러 개발자도구 열기

개발자도구에서 파란색으로 표시한 버튼 클릭하고 뉴스제목에 마우스를 가져다대면

해당링크가 <a></a>태그 임을 확인

 

 <부모태그> 와 <자식태그> 도 볼수 있음

 

 

3) requests를 통해 html 가져오기

   reauests : HTTP통신을 위한 파이썬 라이브러리 

 

새터미널을 열고 터미널에서 Command Prompt 선택

명령어 입력 후 엔터 

 설치 명령어 : pip install requests

 

설치가 되야하는...멘붕

아래와 같은 에러뜸 ㅜㅜㅜㅜㅜㅜㅜㅜ

 뭐징?? 환경변수 설정이 잘못되었나...

결론은 컴터를 재부팅하고 다시 접속해서 실행하니 되었다는...ㅎㅎ

아래와 같이 입력 후 실행하면 터미널에 네이버html이 텍스트로 뿌려짐

import requests

response = requests.get("https://www.naver.com")
html = response.text
print(html)

4) beautifulsoup 설치

beautifulsoup : HTTP 분석을 위한 파이썬 라이브러리 

 

새터미널을 열고 명령어 입력 후 엔터

 설치 명령어 : pip install beautifulsoup4

 

5) beautifulsoup 사용

사용법 : Beautifulsoup(html 코드, html 번역선생님)

import requests
from bs4 import BeautifulSoup

response = requests.get("https://www.naver.com")
html = response.text
soup = BeautifulSoup(html, 'html.parser')
word = soup.select_one('#NM_set_home_btn') #한개의 태그만 선택
                  #select : 여러개의 태그 선택가능
#네이버메인 상단에 '네이버를 시작페이지로' 버튼 태그id 가져오기(id는 하나만존재)

print(word)
print(word.text)

위와 같이 입력 후 실행하면 터미널에 해당 id의 내용출력 /text 출력

<참고> 

css선택자의 종류

태그 선택자 : 태그이름 ex) h1 , a

id 선택자 : #id속성값

class 선택자 : .class속성값

자식 선택자 : 원하는 태그의 아래속성 ex) .headline > span 

+ Recent posts