worldint
mathengi
worldint
전체 방문자
오늘
어제
  • 분류 전체보기 (152)
    • infra, cloud (4)
      • aws (4)
    • TIL,WIL(일간,주간 회고) (57)
    • 컴퓨터 공학 (5)
      • 정보통신 (3)
      • 컴퓨터 구조 (2)
    • Math (1)
      • linear algebra (0)
      • 명제와 집합 (1)
    • Operating System (8)
      • Linux Ubuntu (1)
    • programming (66)
      • c , c++ (9)
      • c# (0)
      • java (2)
      • javascript (14)
      • Python (4)
      • github (1)
      • programing terms (12)
      • html, css (2)
      • docker (3)
      • algorithm_datastructure (5)
      • database (11)
      • flutter(dart) (2)
    • 항해99 부트캠프 (7)
      • 사전교육 (7)
    • 보안관련 (1)

블로그 메뉴

    공지사항

    인기 글

    태그

    • node
    • 디비데드락
    • CloudFront
    • flutter #provider #error
    • AWS
    • EC2
    • ec2 #코드디플로이 #리눅스
    • nodejs
    • MONGOOSE
    • NoSQL
    • MongoDB
    • docker
    • Blue/Green
    • ci/cd
    • Javascript
    • db데드락
    • NVM

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    worldint

    mathengi

    TIL,WIL(일간,주간 회고)

    2022. 12. 05 TIL 파이썬Flask app.py에서 바로 클라이언로 뿌려주기

    2022. 12. 6. 01:48

    -문제점:

    웹개발종합반 과정에서 항상디비에 넣어줬다가 그걸 get방식으로 받아오는 식으로 했었는데

    간단한 크롤링을 디비에 안넣어줘도 될꺼같다.

     

    -해결방밥:

    아래의 코드를 보면 BeautifulSoup패키지로 크롤링을한뒤 doc딕셔너리 안에 넣어주고

    원래는 doc를 DB에 넣어주었는데 그냥 리스트로 만들어서 바로 보내줄수도있다.

    그래서 news_list[]를 for문 밖에서 만들어주고 append()를 써서 리스트에 딕셔너리를 한덩어리씩 넣어주는 코드이다

    @app.route('/tech',methods=['GET'])
    def tech_get():
        url = 'https://news.naver.com/main/main.naver?mode=LSD&mid=shm&sid1=105'
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
        data = requests.get(url, headers=headers)
        soup = BeautifulSoup(data.text, 'html.parser')
    
        tech = soup.select('#main_content > div > div._persist > div:nth-child(1) > div')
     	news_list=[]
        for report in tech:
            r = report.select_one('div.cluster_body > ul > li')
            if report is not None:
                title = r.select_one('div.cluster_text > a').text
                link = r.select_one('div.cluster_text > a')['href']
                image = r.select_one('div.cluster_thumb > div > a').img['src']
                lede = r.select_one('div.cluster_text > div.cluster_text_lede').text
                doc = {'title':title,
                       'link':link,
                       'image':image,
                       'lede':lede
                       }
    			news_list.append(doc)
    
    
        return jsonify({"msg": "get완료",'news_list':news_list})

     

     

    'TIL,WIL(일간,주간 회고)' 카테고리의 다른 글

    2022.12.06 TIL CSS 마우스 오버 관련  (0) 2022.12.06
    2022. 12. 05 TIL 다양한 오타문제  (0) 2022.12.06
    2022. 12. 05 TIL 파이썬 이미지소스 크롤링 문제  (0) 2022.12.06
    2022. 12. 05 TIL 파이썬Flask get연결 문제  (0) 2022.12.06
    2022. 12. 05 TIL html 상단바 layer문제  (2) 2022.12.06
      'TIL,WIL(일간,주간 회고)' 카테고리의 다른 글
      • 2022.12.06 TIL CSS 마우스 오버 관련
      • 2022. 12. 05 TIL 다양한 오타문제
      • 2022. 12. 05 TIL 파이썬 이미지소스 크롤링 문제
      • 2022. 12. 05 TIL 파이썬Flask get연결 문제
      worldint
      worldint
      공부한 내용들, 트러블 슈팅 용 블로그

      티스토리툴바