티스토리 뷰

기획

금융단어 암기장[1]

백수진 2021. 11. 18. 01:58

[데이터 읽고 쓰기]

1. 크롤링을 통해서 네이버 지식백과에서 금융단어를 csv파일로 저장하는 과정을 거침

 

1) request와 bs4를 사용해서 html 파일을 크롤링할 사이트의 url에서 가져오고 soup에 담아놓고 데이터를 조작.

=>  금융단어와 금융단어에 대한 의미를 뽑아내기위한 코드 일부

result = soup.select("#content div.list_wrap>ul>li>div.info_area>div.subject>strong>a")
result2 = soup.select("#content div.list_wrap>ul>li>div.info_area>p")

=> result를 활용해서 단어의 뜻을 가져올 예정이고 result2를 통해서 단어의 의미를 crawling을 통해서 저장함.

2) 이후 원하는 값만 뽑아내는 코드를 작성하여서 name과 meaning의 정보만 데이터 프레임에 저장

=> tag의 text정보만 불러오기 위해서는 get_data()를 사용해야함.

1페이지의 name과 meaning을 뽑아낸 후 데이터프레임에 저장.

 

2. 저장된 데이터들을 불러와서 서로 다른 값으로 random 하게 값을 뽑아내고 난수생성 모듈 random을 import해서 사용해 보여줄 데이터 5개의 index값울 뽑아냄.

1) csv파일을 읽어와서 name과 meaning별로 list에 저장함

=> pandas의 read_csv를 활용

 words = pd.read_csv("C:\\project\\finance\\data\\단어사전크롤링.csv")
 word_name = words['name'].to_list()
 word_meaning = words['meaning'].to_list()

2) random 라이브러리를 활용해서 random.randrange를 사용해 for문을 5번 돌리며 없는 index라면 list에 저장.

for i in range(0,5):
        while num in word_index:
            num = random.randrange(0,len(words))
        word_index.append(num)

3) index번째의 단어와 그에대한 의미를 사용할 수 있음.