예제 #1
0
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()
예제 #2
0
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
예제 #3
0
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()
예제 #4
0
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()
    
예제 #5
0
파일: 01.py 프로젝트: henrykimy/courses
# 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()
예제 #6
0
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()
예제 #8
0
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()
예제 #9
0
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()
예제 #10
0
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()
예제 #11
0

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 = []
예제 #12
0
from korea_news_crawler.articlecrawler import ArticleCrawler

Crawler = ArticleCrawler()
Crawler.set_category("IT과학")
Crawler.set_date_range(2012, 1, 2012, 12)
Crawler.start()