- pandas의 read_html을 활용한 웹스크래핑
- read_html이란?
- read_html 사용해보기
🧉 쿼리스트링(Query String)
: 원하는 검색어를 URL에 붙여서 넘기는 문구
: 지정된 매개변수에 값을 할당하는 Uniform Resource Locator의 일부
🔹 pandas 불러오기
import pandas as pd
🔹 원하는 종목으로 url 설정
item_code = "005930"
item_name = "삼성전자"
page_no = 1
url = f"https://finance.naver.com/item/news_news.nhn?code={item_code}&page={page_no}"
🔹 read_html로 데이터 수집하기
table = pd.read_html(url)
table
🔹 데이터프레임으로 만들기
df = table[0]
df
🔹 반복문으로 원하는만큼 데이터 수집하기
cols = table[0].columns # [0, 1, 2]로 되어있는 칼럼명을 ['제목', '정보제공', '날짜']로 변경
temp_list = []
for news in table[:-1]: # 맨 마지막 값은 필요 없음
news.columns = cols
temp_list.append(news)
🔹 수집한 데이터를 하나의 데이터프레임으로 합치기
df_one_page = pd.concat(temp_list)
df_one_page
🔹 결측치 제거하기
df = df_one_page.dropna()
🔹 불필요한 '연관기사' 데이터 삭제하기
df = df[~df["제목"].str.contains("연관기사")]
🔹 중복데이터 제거하기
df = df_one.drop_duplicates()
-> 이 모든 과정을 하나의 함수로 만들면 끝!
📌 read_html : table 태그가 있다면 pandas의 read_html로 간편하게 웹스크래핑을 할 수 있다.
📌 f string을 활용하여 코드의 유지보수력을 높이자
📌 결측치 제거와 중복데이터 제거 함수를 헷갈리지 말자
본격적인 웹스크래핑 수업으로 넘어왔다.. 왜 이 코드를 배우는지 하나하나 고민하느라 머리가 아프지만 코드를 짜는 전체적인 흐름을 파악할 수 있어서 좋았다. 근데 나는 코드를 마구 짜고 싶어서 일단 코드부터 짜려고 한다. 그 전에 알고리즘을 촘촘히 생각하고 코드를 작성하는 습관을 들이자.
비슷한 것들을 퉁쳐서 생각하는 것. 제거하는 함수라고 해서 다 똑같은 게 아녀!!!
함수의 정확한 의미와 쓰임을 이해하며 수업 듣기