def create_google_news(keyword_input): limit = int(input("검색할 뉴스 개수를 입력하세요 : ")) # 뉴스 데이터 딕셔너리 news_dict = google_news_clipping(keyword_input, limit) # 뉴스 객체 저장 리스트 news_items = [] # 뉴스 객체 생성 for i in range(len(news_dict['title'])): news_item = News(news_dict['title'][i], news_dict['link'][i], news_dict['contents'][i], news_dict['agency'][i], news_dict['date'][i], news_dict['time'][i]) news_items.append(news_item) # 크롤링한 기사 출력 for news_item in news_items: news_item.print() return news_items
def create_naver_news(keyword_input): limit_page = int(input("검색할 페이지 범위를 입력하세요 : ")) # 한 번에 한 페이지 크롤링하기(현재 사용 X) ''' # 뉴스 정보 딕셔너리 저장 리스트 news_dict_list = [] for page in range(limit_page): news_dict = naver_news_clipping(keyword_input, page) news_dict_list.append(news_dict) ''' # 동시에 여러 페이지 크롤링하기(병렬화) page_list = list(range(limit_page)) pool = Pool(processes=4) crawling_func = partial(naver_news_clipping, keyword_input) # 뉴스 정보 딕셔너리 저장 리스트 news_dict_list = pool.map(crawling_func, page_list) # 뉴스 객체 저장할 리스트 news_items = [] # 딕셔너리 데이터 이용하여 뉴스 객체 생성하기 for j in range(len(news_dict_list)): for i in range(len(news_dict_list[j]['title'])): news_item = News(news_dict_list[j]['title'][i], news_dict_list[j]['link'][i], news_dict_list[j]['contents'][i], news_dict_list[j]['agency'][i], news_dict_list[j]['date'][i], news_dict_list[j]['time'][i]) news_items.append(news_item) # 크롤링한 기사 출력 for news_item in news_items: news_item.print() # 뉴스 객체 리스트 반환 return news_items