inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

뉴스기사 크롤링 css선택자 선정의 어려움......도와주세요....

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 쌤 인프런, 유튜브 강의 보면서 잘 만들어 가고 있었는데 현재 코드에서 아무리 수정을 해도 css를 잘못 가져오는건지 오류가 생겨서 답답해서 질문 들고 왔습니다 현재 css 코드 찾기 좀 부탁드릴게요ㅠㅠ 안되는 항목 ✔ 연예뉴스 -> 내용을 못 가져옴 ✔ 스포츠뉴스 -> 제목, 날짜, 내용 다 못 가져옴 css를 여러개 바꿔서 넣어봐도 저는 자꾸 찾을 수 없다고 크롤링 됩니다 도와주세요,,,,,,, #네이버기사 크롤링 엑셀저장 import requests from bs4 import BeautifulSoup import time import pyautogui from openpyxl import Workbook #사용자입력 keyword = pyautogui.prompt("검색어를 입력하세요") lastpage = int(pyautogui.prompt("몇 페이지까지 크롤링 할까요?")) #엑셀 생성 wb = Workbook() #엑셀시트 생성 ws = wb.create_sheet(keyword) #열 너비 조절 ws.column_dimensions['A'].width = 60 ws.column_dimensions['B'].width = 30 ws.column_dimensions['C'].width = 60 ws.column_dimensions['D'].width = 150 #행 번호 row = 1 #페이지 번호 pageNum = 1 for i in range(1, lastpage*10, 10) : print(f"{pageNum}페이지 크롤링중입니다 =================") response = requests.get(f"https://search.naver.com/search.naver?where=news&query={keyword}&sm=tab_opt&sort=1&photo=0&field=0&pd=3&ds=2024.04.11&de=2024.15.20&news&query={keyword}&start={i}") html = response.text soup = BeautifulSoup(html, 'html.parser') articles = soup.select("div.info_group") #뉴스기사 div 10개 추출 for article in articles: links = article.select("a.info") #리스트 time.sleep(0.7) if len(links) >= 2: #링크가 2개 이상이면 url = links[1].attrs['href'] #두번째 링크의 href를 추출 response = requests.get(url, headers={'User-agent': 'Mozilla/5.0'}) html = response.text soup_sub = BeautifulSoup(html, 'html.parser') content = soup_sub.select_one("#newsct_article") if content: content_text = content.get_text(separator="\n") else: content_text = "내용을 찾을 수 없습니다." title = None date = None #만약 연예 뉴스라면 if "entertain" in response.url: title = soup_sub.select_one(".end_tit") date = soup_sub.select_one("div.article_info > span > em") content = soup.select_one("#articeBody") #만약 스포츠 뉴스라면 elif "sports" in response.url: title = soup_sub.select_one(".Main_article_title") content = soup.select_one("._article_content") else: title = soup_sub.select_one(".media_end_head_headline") date = soup_sub.select_one("span.media_end_head_info_datestamp_time._ARTICLE_DATE_TIME") #본문 내용안에 불필요한 div, p제거 divs = content.select("div") for div in divs: div.decompose() paragraphs = content.select("p") for p in paragraphs: p.decompose() print("=======제목======= \n", title.text.strip() if title else "제목을 찾을 수 없습니다.") print("=======날짜======= \n", date.text if date else "날짜를 찾을 수 없습니다.") print("=======URL======= \n", url) print("=======내용======= \n", content.text.strip() if content else "내용을 찾을 수 없습니다") # 'else' 블록에서 'date' 변수 정의는 여기서 끝나도록 수정 ws['A1'] = '제목' ws['B1'] = '날짜' ws['C1'] = 'URL' ws['D1'] = '내용' ws[f'A{row}'] = title.text.strip() if title else "제목을 찾을 수 없습니다." ws[f'B{row}'] = date.text.strip() if date else "날짜를 찾을 수 없습니다." ws[f'C{row}'] = url ws[f'D{row}'] = content_text.strip() if content else "내용을 찾을 수 없습니다." row=row+1 #마지막 페이지 여부 확인하기 next_button = soup.select_one("a.btn_next") if next_button: isLastPage = next_button.attrs.get('aria-disabled', None) if isLastPage == 'true': print("마지막 페이지 입니다.") break pageNum = pageNum+1 wb.save(f"{keyword}_4월_뉴스기사_크롤링(4)_내용까지_0411~0415(3).xlsx")

  • python
  • 웹-크롤링
댓글 3 좋아요 0 조회수 440

map 함수에서 cannot read properties of undefined 에러 발생

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

강사님이 알려주신 대로 작성했는데 해당 부분에서 Cannot read properties of undefined (reading 'map') 이라는 오류가 발생합니다.ㅠㅠ 오타가 있는것 같지는 않은데..어디가 문제일까요..?

  • javascript
  • react
  • node.js
이화영 댓글 2 좋아요 0 조회수 427

Compare & pull request 버튼이 안뜨는 경우는 언제인가요?

해결됨

모두의 깃 & 깃허브

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 친구랑 깃허브 협업 해보고 있습니다 친구계정이 본 저장소이고 저는 포크하여 사용중입니다. 어떤때는 Compare & pull request가 떠있고 어떤 경우에는 뜨지 않습니다.

  • git
  • github
고트. 댓글 2 좋아요 0 조회수 2394

Hot reload 오류 문의 드립니다.

해결됨

기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)

안녕하세요 강사님은 코드 수정 후 브라우저에서 바로바로 확인이 되는 것 같은데 저는 코드를 수정할 때 마다 아래의 오류가 발생해서 매번 다시 yarn dev를 해줘야 수정한 내역이 확인이 되다 보니 강의를 따라 진행 하는대 집중이 되질 않네요. 혹시 아래의 에러가 발생 되지 않게 하는 방법이 있는 것인지 문의 드립니다. 감사합니다. 수고하세요. =================================================================== ⨯ [Error: UNKNOWN: unknown error, open 'D:\study\react\workspace\yt-music-clone-next\.next\static\chunks\app\layout.js'] { errno: -4094, code: 'UNKNOWN', syscall: 'open', path: 'D:\\study\\react\\workspace\\yt-music-clone-next\\.next\\static\\chunks\\app\\layout.js' ===================================================================

  • react
  • 인터랙티브-웹
  • 클론코딩
  • next.js
  • tailwind-css
  • zustand
itdeveloper 댓글 2 좋아요 1 조회수 696

안녕하세요 선생님

미해결

모두의 한국어 텍스트 분석과 자연어처리 with 파이썬

안녕하세요 선생님 대학교에서 캡스톤디자인을 수행하고 있는 학생입니다. 판결문에서 사건의 원인,판결 결과,가중·감소 처벌 요소,키워드를 추출하고 싶은데 어떤 기술을 사용해야할지 막막하여 질문올리게 되었습니다. 거대언어모델은 지양하라고 교수님께서 말씀하셨습니다..ㅜ 조언을 주신다면 감사하겠습니다.

  • python
  • 머신러닝
  • 빅데이터
  • NLP
  • 텍스트마이닝
  • data-clustering
  • 데이터-리터러시
큐펀치 댓글 1 좋아요 0 조회수 332

수정이 안돼요

해결됨

포트폴리오 초간단 배포하기

5분까지 강의에서 나오는 데로 하고 있는데 왜 새로 고침을 해도 수정한 내용이 반영이 안될까요ㅠ vi create-shortenurl.html 으로 다시 확인해봐도 제대로 저장된거 같은데..

  • linux
  • github
  • nginx
에어 댓글 1 좋아요 1 조회수 267

show_templates() 함수의 키워드 아규먼트 질문

해결됨

Airflow 마스터 클래스

안녕하세요 강사님! dags_python_with_ templates.py 파일에서 show_templates 함수를 아무 인자도 넣지 않고 실행을 시키는데요, dag 실행시 출력되는 키워드 인자들은 에어플로우 태스크 객체에 기본으로 입력되는 값들인가요? 정확한 원리가 궁금하여 여쭤봅니다

  • python
  • 데이터-엔지니어링
  • airflow
방효석 댓글 2 좋아요 0 조회수 335

오픈그래프 태그

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

배포 후 링크 공유하는데 오픈 그래프 태그가 나타나지 않습니다.ㅜㅜ

  • javascript
  • react
  • node.js
우다슬 댓글 5 좋아요 0 조회수 954

css 적용 중 강의대로 적용되지 않아 질문 드립니다

미해결

비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지

맛집 지도 뼈대 잡고 반응형 처리하기 -> 파트를 들으며 수강 중이었는데요, 버튼들이 이렇게 4,4개로 정렬되지 않아서 질문 드립니다. width: 25% 를 했을 땐 위와 같이 정렬되고 (모든 너비에서 똑같습니다) 24%를 하면 4개 4개로 되긴 하는데 너무 찝찝해서요.. 분명 똑같이 따라 친 것 같은데 강의를 다시 돌려보아도 찾기가 힘드네요.. 아래에 제 css와 html 코드를 올려두겠습니다 ㅠㅠ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>맛집지도</title> <meta name="author" content="동네코딩" /> <meta name="description" content="맛집지도 서비스" /> <meta name="keywords" content="동네코딩, 맛집지도, 유튜버맛집, 맛집유튜버" /> <link rel="stylesheet" href="style.css" /> </head> <body> <nav> <div class="inner"> <div class="nav-container"> <h1 class="nav-title">맛집지도</h1> <button class="nav-contact">Contact</button> </div> </div> </nav> <main> <section id="category"> <div class="inner"> <div class="category-container"> <h2 class="category-title">맛집지도 카테고리를 선택해보세요</h2> <div class="category-list"> <button class="category-item">한식</button> <button class="category-item">중식</button> <button class="category-item">일식</button> <button class="category-item">양식</button> <button class="category-item">분식</button> <button class="category-item">구이</button> <button class="category-item">회/초밥</button> <button class="category-item">기타</button> </div> </div> <!-- 카테고리 --> </div> </section> <div id="map"> <!-- 카카오지도 --> </div> </main> </body> </html> @font-face { font-family: "KyoboHandwriting2020A"; src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2112@1.0/KyoboHandwriting2020A.woff") format("woff"); font-weight: normal; font-style: normal; } * { padding: 0; margin: 0; box-sizing: border-box; } html { font-size: 10px; font-family: "KyoboHandwriting2020A"; } nav { background-color: rgb(212, 210, 210); } .nav-container { padding: 1rem 0; display: flex; flex-direction: row; /* row로 결정되어있는데 가시적으로 적어줌 */ justify-content: space-between; align-items: center; } .nav-title { font-size: 3rem; } .nav-contact { font-size: 2.5rem; border: 0; background: none; cursor: pointer; font-family: inherit; } .category-title { font-size: 3.5rem; } .category-item { width: 25%; height: 5rem; background:none; border:none; font-family: inherit; font-size: 1.6rem; } .inner { padding: 0 1.5rem; } @media all and (min-width: 1024px) { .inner { max-width: 1024px; margin: 0 auto; } }

  • HTML/CSS
  • javascript
  • aws
  • git
  • mysql
  • rest-api
  • github
ryucream612 댓글 2 좋아요 0 조회수 377

관련 책이 언제 나올까요?

미해결

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

관련 도서 출간은 언제쯤 예상하시나요? 건강하시길 바라요~

  • react
  • python
  • django
  • web-api
  • htmx
bigseoul 댓글 1 좋아요 0 조회수 220

강의자료 부탁드립니다

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

안녕하세요 강의 자료 부탁드립니다 감사합니다

  • python
jiho 댓글 1 좋아요 0 조회수 162

RestaurantApi 컨트롤러 개발 질문

미해결

쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS

안녕하세요 쥬쥬님 RestaurantApi 컨트롤러 개발 시 프론트로부터 파라미터를 받고 서비스로 바로 넘겨주셨는데 현업이나 일반적으로 보통 컨트롤러에서 파라미터를 받으면 그대로 서비스 단으로 넘겨주는지 궁금합니다!

  • spring
  • git
  • docker
  • spring-boot
  • jpa
  • github
SHYU 댓글 2 좋아요 0 조회수 308

@Transactional 질문 있습니다!

미해결

쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS

안녕하세요 @Transactional 어노테이션을 클래스에다가 붙이면 안에 있는 메서드에 전부 적용되는 것으로 알고 있는데 쥬쥬님께서는 메서드 하나하나에 적용을 하시더라구요 혹시 메서드에 하나하나 달아주는 이유를 알 수 있을까요??

  • spring
  • git
  • docker
  • spring-boot
  • jpa
  • github
SHYU 댓글 2 좋아요 0 조회수 319

강의 자료 부탁드립니다.

해결됨

팀 개발을 위한 Git, GitHub 입문

안녕하세요 현재 수강중인 수강생 입니다. 차근차근 다시 한번 정리 하는 차원으로 강의 자료 부탁드립니다. coreamdeo@plateer.com 고맙습니다.

  • git
  • github
  • 버전관리시스템
coreamdeo 댓글 2 좋아요 0 조회수 189

멀티 선택 단축키

해결됨

기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)

2분 50초쯤에서 멀티선택 하는 방법 알려주시면 감사하겠습니다!!

  • react
  • 인터랙티브-웹
  • 클론코딩
  • next.js
  • tailwind-css
  • zustand
강민혜 댓글 2 좋아요 1 조회수 360

강의 자료 부탁드립니다.

해결됨

팀 개발을 위한 Git, GitHub 입문

강의를 듣다 보면 이전 강의 내용을 보고 싶을 때가 있어요. 참고할 수 있도록 강의 자료를 부탁드립니다. hnc329@daum.net

  • git
  • github
  • 버전관리시스템
메일링 댓글 2 좋아요 0 조회수 245

원핫 인코딩에서 0,1이 아니고 False,True가 나옴

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 원핫 인코딩에서 0,1이 아니고 False,True가 나옴

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
조영희 댓글 2 좋아요 0 조회수 1585

ubuntu 응답없음

해결됨

Airflow 마스터 클래스

powershell에서 wsl --install을 입력한 후에 ubuntu 시작하는중... 이 출력되고 그 다음에 응답이 없는데 이런 경우 어떻게 해야할까요?

  • python
  • 데이터-엔지니어링
  • airflow
rosy 댓글 1 좋아요 0 조회수 420

변경데이터 저장 방법 질문 있습니다!

미해결

쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS

안녕하세요 쥬쥬님 testEntity를 리포지토리에서 조회에서 가져온 다음에 change 메서드로 수정을 한 후에 리포지토리의 save 메서드를 사용하셨는데 dirty checking을 사용하지 않고 save를 사용하신 이유가 있을까요?

  • spring
  • git
  • docker
  • spring-boot
  • jpa
  • github
SHYU 댓글 2 좋아요 0 조회수 366

강의자료 부탁드립니다.

해결됨

팀 개발을 위한 Git, GitHub 입문

강의 자료 전달 부탁드립니다. dejung4248@gmail.com

  • git
  • github
  • 버전관리시스템
정다은 댓글 2 좋아요 0 조회수 273

인기 태그

인프런 TOP Writers

주간 인기글