collect
인터넷에서 위키 검색 정보, 날씨 정보, 뉴스 정보 를 가져올 수 있습니다.
Class:
Wikipedia
Weather
News
ExchangeRate
AirQuality
Trivia
Country
OnThisDay
- class openpibo.collect.Wikipedia[소스]
기반 클래스:
objectFunctions:
search()search_s()위키백과에서 단어를 검색합니다.
example:
from openpibo.collect import Wikipedia wiki = Wikipedia() # 아래의 모든 예제 이전에 위 코드를 먼저 사용합니다.
- search(search_text: str)[소스]
위키백과에서
search_text를 검색합니다.example:
result = wiki.search('강아지')
- 매개변수:
search_text (str) – 위키백과에서의 검색어
- 반환:
내용을 dictionary 형태로 반환합니다.
대부분의 경우 ‘0’번 항목에 개요를 표시하고, 검색된 내용이 없을 경우 None을 반환합니다.
example:
{ '0': {'title': '개요', 'content': ['...', ...]}, '1': {'title': '역사', 'content': [...]}, '1.1': {'title': '초기 역사', 'content': [...]}, } or None
- search_s(search_text: str)[소스]
위키백과에서
search_text를 검색합니다. (block 전용)example:
result = wiki.search_s('강아지')
- 매개변수:
search_text (str) – 위키백과에서의 검색어
- 반환:
search 함수의 반환 값의 content만 추출한 리스트를 반환합니다.
대부분의 경우 ‘0’번 항목에 개요를 표시하고, 검색된 내용이 없을 경우 None을 반환합니다.
example:
[ "한국어 '강아지'는 '개'에 어린 짐승을 뜻하는 '아지'가 붙은 말이다...", ... ] or None
- class openpibo.collect.Weather[소스]
기반 클래스:
objectFunctions:
search()search_s()종합 예보와 오늘/내일/모레의 날씨 정보를 검색합니다.
example:
from openpibo.collect import Weather weather = Weather() # 아래의 모든 예제 이전에 위 코드를 먼저 사용합니다.
- region_list = {'강원': 105, '경기': 109, '경남': 159, '경북': 143, '광주': 156, '대구': 143, '대전': 133, '부산': 159, '서울': 109, '세종': 133, '울산': 159, '인천': 109, '전국': 108, '전남': 156, '전북': 146, '제주': 184, '충남': 133, '충북': 131}
날씨 정보를 검색할 수 있는 지역입니다.
- search(search_region: str = '전국')[소스]
해당 지역(
`search_region`)의 날씨 정보(종합예보, 오늘/내일/모레 날씨)를 가져옵니다.example:
result = weather.search('서울')
- 매개변수:
search_region (str) –
검색 가능한 지역 (default: 전국)
검색할 수 있는 지역은 다음과 같습니다:
'전국', '서울', '인천', '경기', '부산', '울산', '경남', '대구', '경북', '광주', '전남', '전북', '대전', '세종', '충남', '충북', '강원', '제주'
- 반환:
종합예보와 오늘/내일/모레의 날씨 및 최저/최고기온을 반환합니다.
example:
{ 'forecast': '내일 경기남부 가끔 비, 내일까지 바람 약간 강, 낮과 밤의 기온차 큼', 'today': {'weather': '...', 'minimum_temp': '...', 'highst_temp': '...'}, 'tomorrow': {'weather': '...', 'minimum_temp': '...', 'highst_temp': '...'}, 'after_tomorrow':{'weather': '...', 'minimum_temp': '...', 'highst_temp': '...'}, } or None
- search_s(search_region: str = '전국', search_type: str = 'forecast', search_item: str = 'weather')[소스]
해당 지역(
`search_region`)의 날씨 정보를 간단하게 가져옵니다. (block 전용)example:
result = weather.search_s('서울')
- 매개변수:
search_region (str) – 검색 가능한 지역 (default: 전국)
search_type (str) – ‘forecast’ | ‘today’ | ‘tomorrow’ | ‘after_tomorrow’ (default: forecast)
search_item (str) –
‘weather’ | ‘minimum_temp’ | ‘highst_temp’ (default: weather)
search_type이 forecast일 경우 search_item은 무시합니다.
- 반환:
파라미터에 따라 종합예보 혹은 날씨/최저기온/최고기온 문자열을 반환합니다. None일 경우 None 반환.
- class openpibo.collect.News[소스]
기반 클래스:
objectFunctions:
search()search_s()JTBC 뉴스 RSS 서비스를 사용해 뉴스 자료를 가져옵니다.
example:
from openpibo.collect import News news = News() # 아래의 모든 예제 이전에 위 코드를 먼저 사용합니다.
- topic_list = {'경제': 'economy', '국제': 'international', '뉴스랭킹': 'newsrank', '뉴스룸': 'newsroom', '문화': 'culture', '사회': 'society', '속보': 'newsflash', '스포츠': 'sports', '썰전 라이브': 'ssulzunlive', '아침&': 'morningand', '연예': 'entertainment', '정치': 'politics', '정치부회의': 'politicaldesk', '풀영상': 'fullvideo'}
뉴스 정보를 검색할 수 있는 주제입니다.
- search(search_topic: str = '뉴스랭킹')[소스]
해당 주제(
`search_topic`)에 맞는 뉴스를 가져옵니다.example:
result = news.search('속보')
- 매개변수:
search_topic (str) –
검색 가능한 뉴스 주제 (default: 뉴스랭킹)
검색할 수 있는 주제는 다음과 같습니다:
'속보', '정치', '경제', '사회', '국제', '문화', '연예', '스포츠', '풀영상', '뉴스랭킹', '뉴스룸', '아침&', '썰전 라이브', '정치부회의'
- 반환:
title, link, description, pubDate 요소가 있는 dictionary 배열입니다.
example:
[ { 'title': '소방차 막은 불법주차, 이번엔 가차없이 밀어버렸다', 'link': 'https://news.jtbc.joins.com/article/...', 'description': '2019년 4월 소방당국의 불법주정차 강경대응 훈련 모습...', 'pubDate': '2021.09.03' }, ... ] or None
- search_s(search_topic: str = '뉴스랭킹', search_type: str = 'title')[소스]
해당 주제(
`search_topic`)에 맞는 뉴스를 간단하게 가져옵니다. (block 전용)example:
result = news.search_s('속보')
- 매개변수:
search_topic (str) – 검색 가능한 뉴스 주제 (default: 뉴스랭킹)
search_type (str) – ‘title’ | ‘link’ | ‘description’ (default: title)
- 반환:
선택한 요소의 리스트, None일 경우 None 반환.
example:
['소방차 막은 불법주차, 이번엔 가차없이 밀어버렸다', ...] or None
- class openpibo.collect.ExchangeRate[소스]
기반 클래스:
objectFunctions:
search()search_s()실시간 환율 정보를 가져옵니다. (API 키 불필요)
example:
from openpibo.collect import ExchangeRate er = ExchangeRate() # 아래의 모든 예제 이전에 위 코드를 먼저 사용합니다.
- currency_name = {'AUD': '호주 달러', 'CAD': '캐나다 달러', 'CHF': '스위스 프랑', 'CNY': '중국 위안', 'EUR': '유로', 'GBP': '영국 파운드', 'HKD': '홍콩 달러', 'JPY': '일본 엔', 'KRW': '한국 원', 'SGD': '싱가포르 달러', 'THB': '태국 바트', 'USD': '미국 달러', 'VND': '베트남 동'}
주요 통화 코드와 이름입니다.
- search(base: str = 'USD')[소스]
기준 통화(
base)에 대한 실시간 환율 정보를 가져옵니다.example:
result = er.search('USD')
- 매개변수:
base (str) –
기준 통화 코드 (default: USD)
주요 통화 코드:
'USD'(미국 달러), 'KRW'(한국 원), 'EUR'(유로), 'JPY'(일본 엔), 'CNY'(중국 위안) 등 ISO 4217 코드
- 반환:
- 기준 통화 대비 각 통화의 환율 dictionary를 반환합니다.
실패 시 None을 반환합니다.
example:
{ 'base': 'USD', 'date': '2024-03-13', 'rates': {'KRW': 1340.5, 'JPY': 149.2, 'EUR': 0.92, ...} } or None
- class openpibo.collect.AirQuality[소스]
기반 클래스:
objectFunctions:
search()search_s()네이버 날씨 검색을 통해 실시간 미세먼지 정보를 가져옵니다. (API 키 불필요)
example:
from openpibo.collect import AirQuality aq = AirQuality() # 아래의 모든 예제 이전에 위 코드를 먼저 사용합니다.
- region_list = ['서울', '부산', '대구', '인천', '광주', '대전', '울산', '경기', '강원', '충북', '충남', '전북', '전남', '경북', '경남', '제주', '세종']
미세먼지 정보를 검색할 수 있는 지역입니다.
- search(search_region: str = '서울')[소스]
해당 지역(
search_region)의 실시간 미세먼지 정보를 가져옵니다.example:
result = aq.search('서울')
- 매개변수:
search_region (str) –
검색할 지역명 (default: 서울)
검색할 수 있는 지역:
'서울', '부산', '대구', '인천', '광주', '대전', '울산', '경기', '강원', '충북', '충남', '전북', '전남', '경북', '경남', '제주', '세종'
- 반환:
미세먼지 정보 dictionary를 반환합니다. 실패 시 None.
example:
{ 'pm10': '좋음', # 미세먼지 등급 'pm25': '보통', # 초미세먼지 등급 } or None
- search_s(search_region: str = '서울', search_item: str = 'pm10')[소스]
해당 지역의 미세먼지 정보를 단일 값으로 반환합니다. (block 전용)
example:
result = aq.search_s('서울', 'pm10')
- 매개변수:
search_region (str) – 검색할 지역명 (default: 서울)
search_item (str) –
조회 항목 (default: pm10)
조회 가능한 항목:
'pm10' 미세먼지 등급 (좋음/보통/나쁨/매우나쁨) 'pm25' 초미세먼지 등급
- 반환:
해당 항목의 값 문자열, 실패 시 None
example:
'45' '보통' or None
- class openpibo.collect.Trivia[소스]
기반 클래스:
objectFunctions:
search()search_s()Open Trivia DB에서 퀴즈 문제를 가져옵니다. (API 키 불필요)
example:
from openpibo.collect import Trivia trivia = Trivia() # 아래의 모든 예제 이전에 위 코드를 먼저 사용합니다.
- category_list = {'게임': 15, '과학': 17, '동물': 27, '수학': 19, '스포츠': 21, '역사': 23, '영화': 11, '음악': 12, '일반': 9, '정치': 24, '지리': 22, '책': 10, '컴퓨터': 18}
퀴즈 카테고리 목록입니다.
- difficulty_list = ['easy', 'medium', 'hard']
퀴즈 난이도입니다.
- search(category: str = '일반', difficulty: str = 'easy', count: int = 1)[소스]
퀴즈 문제를 가져옵니다. (영어)
example:
result = trivia.search('과학', 'easy', 3)
- 매개변수:
category (str) –
카테고리 (default: 일반)
카테고리 목록:
'일반', '책', '영화', '음악', '게임', '과학', '컴퓨터', '수학', '스포츠', '지리', '역사', '정치', '동물'
difficulty (str) –
난이도 (default: easy)
난이도 목록:
'easy', 'medium', 'hard'
count (int) – 문제 수 (default: 1, 최대 50)
- 반환:
퀴즈 문제 리스트를 반환합니다. 실패 시 None.
example:
[ { 'question': 'What is the chemical symbol for water?', 'answer': 'H2O', 'options': ['H2O', 'CO2', 'NaCl', 'O2'], # 정답 포함 4지선다 (섞인 순서) 'category': '과학', 'difficulty': 'easy', 'type': 'multiple', # 'multiple' or 'boolean' }, ... ] or None
- search_s(category: str = '일반', difficulty: str = 'easy')[소스]
퀴즈 문제 1개를 간단하게 반환합니다. (block 전용)
example:
result = trivia.search_s('과학', 'easy')
- 매개변수:
category (str) – 카테고리 (default: 일반)
difficulty (str) – 난이도 (default: easy)
- 반환:
퀴즈 1개의 dictionary, 실패 시 None
example:
{ 'question': 'What is the chemical symbol for water?', 'answer': 'H2O', 'options': ['H2O', 'CO2', 'NaCl', 'O2'], ... } or None
- class openpibo.collect.Country[소스]
기반 클래스:
objectFunctions:
search()search_s()restcountries.com에서 국가 정보를 가져옵니다. (API 키 불필요)
example:
from openpibo.collect import Country country = Country() # 아래의 모든 예제 이전에 위 코드를 먼저 사용합니다.
- info_list = ['name', 'capital', 'region', 'subregion', 'population', 'area', 'languages', 'currencies', 'flag', 'borders', 'timezones', 'tld', 'car_side', 'landlocked', 'latlng']
조회 가능한 항목 목록입니다.
- search(search_name: str)[소스]
국가명으로 국가 정보를 검색합니다. (영어 국가명)
example:
result = country.search('korea') result = country.search('france')
- 매개변수:
search_name (str) – 검색할 국가명 (영어)
- 반환:
국가 정보 dictionary를 반환합니다. 실패 시 None.
example:
{ 'name': 'South Korea', # 국가명 'official': 'Republic of Korea', # 공식 국가명 'capital': '서울특별시', # 수도 (해당 언어로 제공 시) 'region': 'Asia', # 대륙 'subregion': 'Eastern Asia', # 소지역 'population': 51744876, # 인구 'area': 100210.0, # 면적 (km²) 'languages': ['Korean'], # 공용어 'currencies': [{'name': 'South Korean won', 'symbol': '₩'}], 'flag': '🇰🇷', # 국기 이모지 'flag_url': 'https://flagcdn.com/kr.png', 'borders': ['PRK'], # 인접국 코드 'timezones': ['UTC+09:00'], 'tld': ['.kr'], # 국가 도메인 'car_side': 'right', # 운전석 방향 'landlocked': False, # 내륙국 여부 'latlng': [37.0, 127.5], # 위경도 } or None
- search_s(search_name: str, search_item: str = 'capital')[소스]
국가 정보 중 특정 항목만 반환합니다. (block 전용)
example:
result = country.search_s('korea', 'capital') result = country.search_s('france', 'population')
- 매개변수:
search_name (str) – 검색할 국가명 (영어)
search_item (str) –
조회 항목 (default: capital)
조회 가능한 항목:
'name' 국가명 'capital' 수도 'region' 대륙 'subregion' 소지역 'population' 인구 'area' 면적 (km²) 'languages' 공용어 'currencies' 화폐 'flag' 국기 이모지 'borders' 인접국 코드 목록 'car_side' 운전석 방향 (left/right) 'landlocked' 내륙국 여부 'latlng' 위경도
- 반환:
해당 항목의 값, 실패 시 None
example:
'Seoul' 51744876 ['Korean'] or None
- class openpibo.collect.OnThisDay[소스]
기반 클래스:
objectFunctions:
search()search_s()Wikipedia REST API를 사용해 특정 날짜에 일어난 역사적 사건을 가져옵니다. (API 키 불필요, 영어)
example:
from openpibo.collect import OnThisDay otd = OnThisDay() # 아래의 모든 예제 이전에 위 코드를 먼저 사용합니다.
- type_list = ['events', 'births', 'deaths', 'holidays', 'selected']
조회 가능한 유형입니다.
events: 역사적 사건births: 이날 태어난 인물deaths: 이날 사망한 인물holidays: 공휴일/기념일selected: Wikipedia 편집자 선정 주요 사건
- search(month: int, day: int, event_type: str = 'events', count: int = 5)[소스]
특정 날짜(
month/day)의 역사적 사건을 가져옵니다.example:
result = otd.search(3, 1) # 3월 1일 사건 result = otd.search(8, 15, 'births', 3) # 8월 15일 태어난 인물 3명
- 매개변수:
month (int) – 월 (1~12)
day (int) – 일 (1~31)
event_type (str) –
조회 유형 (default: events)
조회 가능한 유형:
'events' 역사적 사건 'births' 이날 태어난 인물 'deaths' 이날 사망한 인물 'holidays' 공휴일/기념일 'selected' Wikipedia 선정 주요 사건
count (int) – 반환 건수 (default: 5)
- 반환:
사건 리스트를 반환합니다. 실패 시 None.
example:
[ { 'year': 1919, 'text': 'The March 1st Movement begins in Korea...', 'pages': ['March 1st Movement', 'Korea'], # 관련 Wikipedia 문서 }, ... ] or None
- search_s(month: int, day: int, event_type: str = 'events')[소스]
특정 날짜의 역사적 사건 1개를 반환합니다. (block 전용)
Wikipedia 선정 주요 사건(selected) 중 첫 번째 항목을 반환합니다.
example:
result = otd.search_s(3, 1) result = otd.search_s(8, 15, 'births')
- 매개변수:
month (int) – 월 (1~12)
day (int) – 일 (1~31)
event_type (str) – 조회 유형 (default: events)
- 반환:
'[연도] 사건 내용'형식의 문자열, 실패 시 Noneexample:
'[1919] The March 1st Movement begins in Korea...' or None