Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
mjkweon17 committed Nov 10, 2023
2 parents 943f96d + 673b571 commit 81aa075
Show file tree
Hide file tree
Showing 11 changed files with 3,675 additions and 0 deletions.
58 changes: 58 additions & 0 deletions crawling/dreamcoding/dreamcoding.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
[
{
title: Next.js 개념정리 · 클론코딩,
thumnail: https://academy.dream-coding.com/_next/image?url=https%3A%2F%2Fd2lmphbmp3ptuw.cloudfront.net%2Fassets%2FNext_js_Course_Thumbnail_0556159fcd.gif&w=1920&q=75,
difficulty: 2,
company_id: 5,
keyword: ['웹개발','프론트엔드','백엔드'],
link: /courses/next,
lecturer: 드림코더 엘리,
price: 200,000,
course_hours: 21시간,
introduction: 최신 Next.js 13+ 기본부터 제대로 배우자! 웹앱을 위한 다양한 렌더링 기법! 나만의 블로그 만들기와 인스타그램 클론코딩을 통한 실전 연습!,
discount_price: ,
stacks: ['HTML','CSS','Javascript','React','Next.js']
},
{
title: 리액트 개념정리 · 클론코딩,
thumnail: https://academy.dream-coding.com/_next/image?url=https%3A%2F%2Fd2lmphbmp3ptuw.cloudfront.net%2Fassets%2FReact_Course_2022_Thumbnail_min_80475ab50b.gif&w=1920&q=75,
difficulty: 2,
company_id: 5,
keyword: ['웹개발','프론트엔드'],
link: /courses/react,
lecturer: 드림코더 엘리,
price: 190,000,
course_hours: 16시간,
introduction: 리액트 기본부터 제대로 배우자. 기본 개념부터 고급까지! 투두앱, 유튜브, 쇼핑앱 만들기앱을 통한 실전 연습!,
discount_price: ,
stacks: ['HTML','CSS','Javascript','React']
},
{
title: 포트폴리오 웹사이트 클론코딩,
thumnail: https://academy.dream-coding.com/_next/image?url=https%3A%2F%2Fd2lmphbmp3ptuw.cloudfront.net%2FPortfolio_2023_thumbnail_bae3a1be55.gif&w=1920&q=75,
difficulty: 1,
company_id: 5,
keyword: ['웹개발','프론트엔드'],
link: /courses/portfolio,
lecturer: 드림코더 엘리,
price: 190,000,
course_hours: 10시간,
introduction: 나만의 포트폴리오 사이트 만들기. 반응형 동적 포트폴리오 사이트 클론 코딩,
discount_price: ,
stacks: ['HTML','CSS','Javascript']
},
{
title: 노드로 배우는 백엔드 A-Z,
thumnail: https://academy.dream-coding.com/_next/image?url=https%3A%2F%2Fd2lmphbmp3ptuw.cloudfront.net%2FPortfolio_2023_thumbnail_bae3a1be55.gif&w=1920&q=75,
difficulty: 1,
company_id: 5,
keyword: ['웹개발','백엔드'],
link: /courses/node,
lecturer: 드림코더 엘리,
price: 200,000,
course_hours: 14시간,
introduction: 노드로 백엔드 기본부터 고급까지 제대로 배우자. 백엔드 개발 입문을 위한 모든 내용들이 한곳에! 드위터 실전 프로젝트를 통해 문제해결 능력을 향상 할 수 있는 개념 + 실전 강의,
discount_price: ,
stacks: ['HTML','CSS','Javascript','Node.js']
}
]
128 changes: 128 additions & 0 deletions crawling/fastcampus/fastcampus.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
[
{
"title": "퀴즈처럼 풀면서 배우는 파이썬 딥러닝 300제 + 연습문제 패키지 Online.",
"thumnail": "https://storage.googleapis.com/static.fastcampus.co.kr/prod/uploads/202111/143138-620/%EB%94%A5%EB%9F%AC%EB%8B%9D.png",
"difficulty": "3",
"company_id": 4,
"keyword": "['데이터분석','딥러닝']",
"link": "/data_online_dl300",
"lecturer": "FastCampus",
"price": "264,000",
"course_hours": "51시간",
"introduction": "딥러닝 이론 수업만 듣고, 직접 코드를 쳐본 경험이 없는 사람, 실전 문제를 풀면서 파이썬 딥러닝 경험을 쌓고 싶은 사람",
"discount_price": "",
"stacks": "['Python','PyTorch','Tensorflow','Keras']"
},
{
"title": "한번에 끝내는 컴퓨터 공학 전공필수 & 인공지능 심화",
"thumnail": "https://storage.googleapis.com/static.fastcampus.co.kr/prod/uploads/202302/060638-973/%EC%B4%88%EA%B2%A9%EC%B0%A8---%EC%BB%B4%ED%93%A8%ED%84%B0-%EA%B3%B5%ED%95%99-%EC%A0%84%EA%B3%B5%ED%95%84%EC%88%98---%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5-%EC%8B%AC%ED%99%94.png",
"difficulty": "2",
"company_id": 4,
"keyword": "['알고리즘','운영체제','데이터베이스']",
"link": "/dev_online_computer",
"lecturer": "FastCampus",
"price": "247,000",
"course_hours": "132시간",
"introduction": "대학 컴퓨터공학과 전공 4년 간 배우는 기초-심화 과정 전반을 다룹니다. 대중적인 언어 파이썬을 기반으로 프로그래밍 기초부터 인공지능까지 컴퓨터공학 전반을 배웁니다. 국내 탑티어 대학교 출신으로 현업 개발자로 근무 중인 고스펙 강사님들이 이론과 실무 노하우를 배울 수 있습니다.",
"discount_price": "",
"stacks": "['Python']"
},
{
"title": "나의 칼퇴 치트기, 파이썬 업무자동화 유치원",
"thumnail": "https://storage.googleapis.com/static.fastcampus.co.kr/prod/uploads/202112/164449-199/%E1%84%8E%E1%85%AC%E1%84%8E%E1%85%A9%E1%84%8E%E1%85%AC%E1%84%89%E1%85%B5%E1%86%AB.png",
"difficulty": "1",
"company_id": 4,
"keyword": "['업무자동화']",
"link": "/biz_online_kimleft",
"lecturer": "김왼손",
"price": "202,000",
"course_hours": "11시간",
"introduction": "어떠한 문제에 직면해도 문제 해결하는 나만의 업무 자동화 프로그램",
"discount_price": "",
"stacks": "['Python']"
},
{
"title": "10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring)",
"thumnail": "https://storage.googleapis.com/static.fastcampus.co.kr/prod/uploads/202302/052638-973/%EC%B4%88%EA%B2%A9%EC%B0%A8---10%EA%B0%9C-%EB%B0%B1%EC%97%94%EB%93%9C-%EC%9B%B9%EA%B0%9C%EB%B0%9C.png",
"difficulty": "1",
"company_id": 4,
"keyword": "['웹개발','백엔드']",
"link": "/dev_online_befinal",
"lecturer": "홍종완,김은호",
"price": "227,000",
"course_hours": "120시간",
"introduction": "초격차 프로그램, 나만의 백엔드 실력 쌓고 포트폴리오 만들기",
"discount_price": "",
"stacks": "['Java', 'Spring']"
},
{
"title": "시그니처 프론트엔드 웹개발의 모든 것",
"thumnail": "https://storage.googleapis.com/static.fastcampus.co.kr/prod/uploads/202303/045138-472/%E1%84%89%E1%85%B5%E1%84%80%E1%85%B3%E1%84%82%E1%85%B5%E1%84%8E%E1%85%A5---%E1%84%87%E1%85%A2%E1%86%A8%E1%84%8B%E1%85%A6%E1%86%AB%E1%84%83%E1%85%B3.png",
"difficulty": "1",
"company_id": 4,
"keyword": "['웹개발','프론트엔드']",
"link": "/dev_online_fesignature",
"lecturer": "박영웅, 안재원",
"price": "226,000",
"course_hours": "1268시간",
"introduction": "시그니처 프론트엔드. 리액트 자바스크립트, 타입스크립트까지",
"discount_price": "",
"stacks": "['React', 'Javascript','Typescript']"
},
{
"title": "초단기완성 : 14일 만에 만드는 스타벅스 웹사이트 클론코딩",
"thumnail": "https://storage.googleapis.com/static.fastcampus.co.kr/prod/uploads/202207/230746-472/%E1%84%8E%E1%85%A9%E1%84%83%E1%85%A1%E1%86%AB%E1%84%80%E1%85%B5.png",
"difficulty": "1",
"company_id": 4,
"keyword": "['웹개발','프론트엔드']",
"link": "/dev_online_ccsb",
"lecturer": "박영웅",
"price": "59,000",
"course_hours": "26시간",
"introduction": "고퀄리티 프로젝트 실습, 14일 만에 완성하는 나만의 웹 사이트",
"discount_price": "",
"stacks": "['Javascript', 'HTML','CSS']"
},
{
"title": "내 인생 처음이자 마지막 자바 & 객체지향 프로그래밍",
"thumnail": "https://storage.googleapis.com/static.fastcampus.co.kr/prod/uploads/202301/020715-472/%E1%84%87%E1%85%B3%E1%84%85%E1%85%B5%E1%86%BA%E1%84%8C%E1%85%B5%E1%84%8B%E1%85%B5%E1%84%86%E1%85%B5%E1%84%8C%E1%85%B5.png",
"difficulty": "1",
"company_id": 4,
"keyword": "['백엔드']",
"link": "/dev_online_javaoop",
"lecturer": "박매일",
"price": "99,000",
"course_hours": "67시간",
"introduction": "5개의 프로젝트를 내 손으로, 자바부터 객체지향 완벽 이해",
"discount_price": "",
"stacks": "['Java']"
},
{
"title": "유니티 게임 포트폴리오 완성",
"thumnail": "https://storage.googleapis.com/static.fastcampus.co.kr/prod/uploads/202111/110319-472/%EA%B2%8C%EC%9E%84%ED%98%95---%EC%9C%A0%EB%8B%88%ED%8B%B0-%EA%B2%8C%EC%9E%84-%ED%8F%AC%ED%8A%B8%ED%8F%B4%EB%A6%AC%EC%98%A4-%EC%99%84%EC%84%B1.jpg",
"difficulty": "2",
"company_id": 4,
"keyword": "['게임개발']",
"link": "/dev_online_unity",
"lecturer": "김영민",
"price": "228,000",
"course_hours": "49시간",
"introduction": "취업에 중요한 핵심 기능 개발해보기, 게임 회사 채용 면접까지 대비 가능!",
"discount_price": "",
"stacks": "['Unity']"
},
{
"title": "언리얼 엔진 RPG 전투 플레이 프로젝트로 배우기",
"thumnail": "https://storage.googleapis.com/static.fastcampus.co.kr/prod/uploads/202309/175949-1129/bridge-unreal-.png",
"difficulty": "2",
"company_id": 4,
"keyword": "['게임개발']",
"link": "/dev_online_ue5rpg",
"lecturer": "김영민",
"price": "188,000",
"course_hours": "49시간",
"introduction": "대세 장르 RPG 게임의 꽃, 전투를 만들며 데세 엔진 언리얼 엔진 5를 마스터합니다.",
"discount_price": "",
"stacks": "['언리얼']"
}
]
72 changes: 72 additions & 0 deletions crawling/inflearn/course_detail_search.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
import requests
from bs4 import BeautifulSoup
from urllib.parse import quote

def course_detail_search(course_link):
base_url = "https://www.inflearn.com"
search_query = base_url + quote(course_link) # base + course_link

response = requests.get(search_query)
soup = BeautifulSoup(response.text, 'html.parser')

# 총 강의 시간
course_time = soup.find('span', class_= 'cd-curriculum__sub-title')
course_time_join = ''
if course_time:
course_time = soup.find('span', class_= 'cd-curriculum__sub-title').text.strip().split()
course_time_join = "".join(course_time)
course_time_join = course_time_join.split('˙')
if len(course_time_join) > 1:
course_time_join = course_time_join[1]
course_time_join = course_time_join.split('의')[0]
else:
course_time_join = "".join(course_time_join)

else:
course_time = ''


#강의 요약 제목
course_description_title = soup.find('div', class_= 'cd-body__title')
if course_description_title:
course_description_title = course_description_title.text.strip()
course_description_title = course_description_title.replace("\n", "")
else:
course_description_title = ''



# 강의 요약 설명
course_description_content = soup.find('p', class_= 'cd-body__description')
if course_description_content:
course_description_content = course_description_content.text.strip()
else:
course_description_content = ''


# 할인 가격
course_discount_price = soup.find('div', class_= 'cd-floating__price')
# 할인 안하는 강의도 있음
if len(course_discount_price.find_all('h4')) > 1:
course_discount_price = course_discount_price.find_all('h4')[1].text.strip()
else:
course_discount_price = ''

# 이미지 소스 링크
img_element = soup.find('img')
src = img_element.get('src')
if src:
pass
else:
src = ''

# 기술 스택 태그
course_stacks = soup.find('div', class_= 'cd-header__tags')
a_tags = course_stacks.find_all('a')
if len(a_tags) < 1:
course_stacks = ''
else:
course_stacks = str([tag.text for tag in a_tags])

return course_time_join, course_description_title, course_description_content, course_discount_price, course_stacks, src

Loading

0 comments on commit 81aa075

Please sign in to comment.