본문 바로가기
  • Welcome J-Kyu Tstory
국비교육과정/크롤링

[크롤링] 미니 프로젝트

by regularity 2022. 5. 14.
728x90

#크롤링 개인 PJT 내용


# 네이버에서 오늘 서울의 날씨정보를 가져온다. ==>crawl_weather() 

 

def crawl_weather():
    print("[날씨정보]")
    url="https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=%EC%84%9C%EC%9A%B8+%EB%82%A0%EC%94%A8"
    
    res=requests.get(url)
    res.raise_for_status()
    soup=BeautifulSoup(res.text,"html")
    cur_temp=soup.find("div",{"class","temperature_text"}).get_text()
    print(cur_temp)
    min_temp=soup.find("span",{"class":"lowest"}).get_text()
    print(min_temp)
    max_temp=soup.find("span",{"class":"highest"}).get_text()
    print(max_temp)
    print()

 

#헤드라인 뉴스 5건을 가져온다. ==>craw_hdlie() 

def crawl_headline_news():
    print("="*50)
    print("[헤드라인뉴스]")
    idx=1
    url="https://news.naver.com/main/main.naver?mode=LSD&mid=shm&sid1=100"
    html=urllib.request.urlopen(url)

    soup=bs4.BeautifulSoup(html,"html")
    #href 부분
    hdline=soup.find("ul",{"class":"section_list_ranking_press _rankingList"})
    lis=hdline.findAll("li")
    for li in lis:
                    #클래스 부분
        a=li.find("a",{"class":"list_tit nclicks('rig.renws2')"})
        print(idx,a.text.strip())
        print(a.get('href'))
        print()
        idx +=1

 

#관심있는 분양의 뉴스5건을 가져온다.[정치/경제/사회/문화/IT/...]==>craw_it() 

def crawl_like_news():
    print("="*50)
    print("[관심분야 뉴스]")
    idx=1
    url="https://sports.news.naver.com/index"
    html=urllib.request.urlopen(url)

    soup=bs4.BeautifulSoup(html,"html")
    #href 부분
    sport=soup.find("ul",{"class":"today_list"})
    lis=sport.findAll("li")
    for li in lis:
                   
        a=li.find("a",{"class":"link_today"})
        print(idx,a.text.strip())
        print("https://sports.news.naver.com"+a.get('href'))
        print()
        idx +=1

#기타 실시간 뉴스 분야 2가지 이상 ==>craw_it() 

def crawl_live_news():
    print("="*50)
    print("[실시간 뉴스]")
    idx=1
    url="https://www.fnnews.com/newsflash"
    html=urllib.request.urlopen(url)

    soup=bs4.BeautifulSoup(html,"html")
    #href 부분
    live=soup.find("ul",{"class":"list_news"})
    lis=live.findAll("li")
    
    for li in lis:
                   
        a=li.find("a",{"class":"link_news"})
        print(idx,a.text.strip())
        print("https://sports.news.naver.com"+a.get('href'))
        print()
        idx +=1

# 실행부
if __name__=="__main__":
    crawl_weather() 
    crawl_headline_news()
    crawl_like_news()
    crawl_live_news()
728x90

'국비교육과정 > 크롤링' 카테고리의 다른 글

웹 크롤링  (0) 2022.05.13

댓글