def naver_news_crawling_example(): from korea_news_crawler.articlecrawler import ArticleCrawler crawler = ArticleCrawler() crawler.set_category('정치', 'IT과학', 'economy') #crawler.set_category('politics', 'IT_science', 'economy') crawler.set_date_range(2017, 1, 2018, 4) crawler.start()
def main(): """메인 함수.""" args = parse_arguments() logger = logging.getLogger('crawling') logger.info(f"Categories: {' '.join(args.categories)}") start_date = datetime(args.start_year, args.start_month, 1) # 10.01 end_date = datetime(args.end_year, args.end_month, 1) + relativedelta( months=1) # 12.01 end_date = end_date - relativedelta(days=1) inter_start_date = start_date # 10.01 inter_end_date = start_date + relativedelta( months=args.month_interval) # 11.01 inter_end_date = inter_end_date - relativedelta(days=1) while True: start_time = time.time() crawler = ArticleCrawler(write_root=os.path.join( args.result_dir, inter_start_date.strftime("%Y_%m")), logger=logger) crawler.set_category(*args.categories) crawler.set_date_range(start_year=inter_start_date.year, start_month=inter_start_date.month, end_year=inter_end_date.year, end_month=inter_end_date.month) crawler.start(join=args.join) if args.join: elapsed = time.time() - start_time logger.info( f"{crawler.write_root} finished. {elapsed/60:.2f} minutes ({elapsed:.2f} seconds)." ) inter_start_date += relativedelta( months=args.month_interval) # 11.01 -> 12.01 inter_end_date += relativedelta( months=args.month_interval) # 12.01 -> 01.01 if inter_end_date > end_date: break
from korea_news_crawler.articlecrawler import ArticleCrawler if __name__ == "__main__": Crawler = ArticleCrawler() Crawler.set_category("IT과학", "경제") # 정치, 경제, 생활문화, IT과학, 사회 카테고리 사용 가능 Crawler.set_date_range(2017, 2018, 3) # 2017년 1월부터 2018년 3월까지 크롤링 시작 Crawler.start()
from korea_news_crawler.articlecrawler import ArticleCrawler if __name__ == "__main__": Crawler = ArticleCrawler() Crawler.set_category("생활문화") # 정치, 경제, 생활문화, IT과학, 사회, 세계 카테고리 사용 가능 Crawler.set_date_range(2017, 12, 2018, 1) # 2017년 12월부터 2018년 1월까지 크롤링 시작 Crawler.start()
# https://github.com/lumyjuwon/KoreaNewsCrawler # pip install KoreaNewsCrawler from korea_news_crawler.articlecrawler import ArticleCrawler from multiprocessing import freeze_support if __name__ == '__main__': freeze_support() c = ArticleCrawler() c.set_category('economy') c.set_date_range(2021, 1, 2021, 2) c.start()
from korea_news_crawler.articlecrawler import ArticleCrawler if __name__ == "__main__": Crawler = ArticleCrawler() Crawler.start(isMultiProc=True)
def main(): Crawler = ArticleCrawler() Crawler.set_category('정치', '경제', '사회') Crawler.set_date_range(2021, 1, 2021, 1) Crawler.start()
from korea_news_crawler.articlecrawler import ArticleCrawler from korea_news_crawler.covidcrawler import covidCrawler from korea_news_crawler.stock import stockCrawler import os if __name__ == "__main__": # stockcrawler = stockCrawler() # stockcrawler.setComp(["삼성전자","카카오","LG화학"]) # stockcrawler.getStockChart() Crawler = ArticleCrawler() Crawler.set_category("IT과학") # 정치, 경제, 생활문화, IT과학, 사회, 세계 카테고리 사용 가능 Crawler.set_date_range(2020, 11, 1, 2020, 11, 30) # Crawler.set_keyword("네이버") # Crawler.set_captureFlag(True) Crawler.start() # covidcrawler = covidCrawler() # covidcrawler.getConfirmed()
from korea_news_crawler.articlecrawler import ArticleCrawler if __name__ == "__main__": Crawler = ArticleCrawler() # 정치, 경제, 생활문화, IT과학, 사회, 세계 카테고리 사용 가능 Crawler.set_category("IT과학", "경제", "생활문화", "IT과학", "사회", "세계") # 2017년 12월부터 2018년 1월까지 크롤링 시작 Crawler.set_date_range(2017, 12, 2018, 1) Crawler.start()
from korea_news_crawler.articlecrawler import ArticleCrawler if __name__ == "__main__": Crawler = ArticleCrawler() # 정치, 경제, 생활문화, IT과학, 사회, 세계 카테고리 사용 가능 Crawler.set_category("IT과학", "세계") # 2017년 12월 (1일) 부터 2018년 1월 13일까지 크롤링 시작 YYYY-MM-DD의 형식으로 입력 Crawler.set_date_range('2017-12', '2018-01-13') Crawler.start()
ArticleParser.special_symbol = re.compile( '[\{\}\[\]\/?,;:|\)*~`!^\-_+<>@\#$&▲▶◆◀■【】\\\=\(\'\"◇※ⓒ©…△]') ArticleParser.content_pattern = re.compile( '본문 내용|TV플레이어| 동영상 뉴스|flash 오류를 우회하기 위한 함수 추가function flash removeCallback|tt|앵커 멘트|xa0|SUB TITLE START|SUB TITLE END|For Use Only in the Republic of Korea. No Redistribution|Yonhapnews|newsis.com|misocamera|ytn.co.kr|MobileAdNew center|yna.co.kr|nkphoto|photo|seephoto|bulls' ) category = input( "속보(001) 정치(100) 경제(101) 사회(102) 생활문화(103) 세계(104) IT과학(105) 오피니언(110)\n카테고리 입력 : " ) y1, y2, m1, m2 = map(int, input("년(시작), 년(끝), 월(시작), 월(끝) 입력 : ").split()) NEWS_LIST_URL = "http://news.naver.com/main/list.nhn?mode=LSD&mid=sec&sid1=" + category + "&date=" print(f"Make news list URL from {y1}-{m1:02d} to {y2}-{m2:02d}") NEWS_LIST_URL_BY_DATE = ArticleCrawler().make_news_page_url( NEWS_LIST_URL, y1, y2, m1, m2) with io.open(FILE_NAME, 'w+', encoding='utf-8') as output: print("Create file " + FILE_NAME + ", start crawling...") for URL in NEWS_LIST_URL_BY_DATE: #referenced from : https://github.com/lumyjuwon/KoreaNewsCrawler/blob/master/korea_news_crawler/articlecrawler.py regex = re.compile("date=(\d+)") news_date = regex.findall(URL)[0] request = get_url_data(URL) document = BeautifulSoup(request.content, 'html.parser') # html - newsflash_body - type06_headline, type06 # 각 페이지에 있는 기사들 가져오기 post_temp = document.select('.newsflash_body .type06_headline li dl') post_temp.extend(document.select('.newsflash_body .type06 li dl')) post = []
from korea_news_crawler.articlecrawler import ArticleCrawler Crawler = ArticleCrawler() Crawler.set_category("IT과학") Crawler.set_date_range(2012, 1, 2012, 12) Crawler.start()