1. Beautifulsoup 패키지 선언
from openpyxl import load_workbook, Workbook
import pandas as pd
import re
import requests
from bs4 import BeautifulSoup as soup
2. 검색 페이지에서 검색어를 정의하여 검색 페이지 지정하기(한글의 경우 unicode로 변환하여 url을 불러오기 위해서 url= 다음에 f키를 입력
# 검색어 변수 정의
search_keyword='강아지'
# 빈 Naver Query 주소를 활용 + 검색어
url=f"https://search.naver.com/search.naver?sm=top_hty&fbm=0&ie=utf8&query={search_keyword}"
3. url내의 html 내용을 끌어오기
html=requests.get(url)
bs=soup(html.text, 'html.parser')
4. html내에서 특정 기사의 타이틀 부분 끌어오기
# 검색 결과에서 Title 부분 끌어오기
news_titles=bs.select('.type01 > li > dl > dt > a[title]')
.type01: 현 검색 페이지에서 type01 클래스로 지정된 부분을 선정
5. 타이틀 부분에서 실제 타이틀에 해당하는 text 불러오기: for 구문을 사용해서 모든 기사의 타이틀을 끌어오기
for title in news_titles:
T_List.append(title['title'])
이를 위해서는 코드 첫 부분에 아래와 같이 T_List를 변수로 정의
#뉴스타이틀 저장을 위한 변수 정의
T_List=list()
6. 마지막에 결과물을 확인하기 위해서 print 명령으로 검색 결과를 표시. 최종 전체 코드 모습
from openpyxl import load_workbook, Workbook
import pandas as pd
import re
import requests
from bs4 import BeautifulSoup as soup
#뉴스타이틀 저장을 위한 변수 정의
T_List=list()
# 검색어 변수 정의
search_keyword='강아지'
# 빈 Naver Query 주소를 활용 + 검색어
url=f"https://search.naver.com/search.naver?where=news&sm=tab_jum&query={search_keyword}"
html=requests.get(url)
bs=soup(html.text, 'html.parser')
# 검색 결과에서 Title 부분 끌어오기
news_titles=bs.select('.type01 > li > dl > dt > a[title]')
for title in news_titles:
T_List.append(title['title'])
print(T_List)
'Web-Crawling' 카테고리의 다른 글
01. 환경설정 및 원하는 웹사이트 로그인하기(동적 Crawling 활용) (0) | 2020.08.25 |
---|---|
Anaconda 및 chromedriver 설치하기 (0) | 2020.08.25 |
댓글