파이썬 라이브러리를 활용해서 크롤링을 연습해보자
사용
jupyter notebook
BeautifulSoup
selenium
크롤링 사이트
https://globaldino.tistory.com/77
구현할 내용
1. 위 블로그에서 문제풀이 정보를 크롤링해서 가져온다
2. 문제 정보들을 출력하고 번호를 입력받는다
3. 입력받은 번호에 해당하는 문제풀이 코드를 출력한다
4. 없는 번호를 입력받으면 "잘못된 번호 입력" 을 출력한다
5. 2~4 를 반복하되 0을 입력받으면 "Done" 을 출력하고 종료한다
구현 코드 Python
from selenium import webdriver
from bs4 import BeautifulSoup
driver = webdriver.Chrome()
driver.implicitly_wait(3)
driver.get("https://globaldino.tistory.com/77")
page = driver.page_source
bs_obj = BeautifulSoup(page, "html.parser")
p_contents = bs_obj.find_all("p")
q_title_list = []
for item in p_contents:
if '#' in item.text:
q_title_list.append(item.text)
code_contents = bs_obj.find_all("code")
code_list = []
for item in code_contents:
code_list.append(item.text)
q_dic = {}
for i in range(len(q_title_list)):
title, num = q_title_list[i].split('#')
# print(title.strip(), num)
title = title.strip()
q_dic[num] = (title, code_list[i])
while True:
for item in q_dic.items():
print("%s\t%s" % (item[0], item[1][0]))
input_str = input("번호입력 (종료:0) : ").strip()
if input_str == "0":
break
if input_str in q_dic:
data = q_dic[input_str]
print(f"\n{data[0]}\n{data[1]}\n")
else:
print("\n잘못된 번호 입력\n")
print("Done")
driver.close()
반응형
'공부 > AI' 카테고리의 다른 글
파이썬 컨테이너 Container 리스트 list (0) | 2024.11.24 |
---|---|
패스트캠퍼스 강의 정리 - Python 프로그래밍 기초 1 (0) | 2024.11.23 |
Python 공부 - Pandas 데이터 처리 (0) | 2024.11.17 |
패스트캠퍼스 Data Scientist 마인드셋 특강 후기 (0) | 2024.11.16 |
패스트캠퍼스 Upstage AI Lab 6기 OT 후기 (0) | 2024.11.16 |