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

concat을 통한 데이터프레임 합치기

미해결

파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기

# result를 list로 만들고 concat을 통해 DataFrame으로 만듭니다. # concat으로 데이터프레임을 합쳐줄때는 리스트 형태로 각 데이터프레임을 넣어주어야 합니다. pd.concat(result.tolist()) -------------------------------------------------------- InvalidIndexError: Reindexing only valid with uniquely valued Index objects df_item = pd.concat(item_info, ignore_index=True)도 해보았고, 중복값도 없다고 나오는데 계속 이 부분에서 동일한 에러가 뜹니다.. 어떻게 해결해야 할까요? 이 앞부분까지는 모두 정상출력되었습니다!

  • python
  • pandas
  • numpy
  • 웹-크롤링
  • seaborn
  • plotly
  • matplotlib
  • 웹-스크래핑
댓글 2 좋아요 0 조회수 582

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

빈도수가 1000개 이상인 데이터를 따로 담을 때 코드 질문 있습니다.

미해결

공공데이터로 파이썬 데이터 분석 시작하기

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강좌에서 academy_count = df_academy["상권업종소분류명"].value_counts() 후에 academy_count_1000 = academy_count[academy_count > 1000] 으로 데이터를 따로 담았는데 여기서 아래와 같은 academy_count를 따로 담지 않고 한번에 작성하는 코드 academy_count_1000 = df_academy[df_academy["상권업종소분류명"].value_counts() > 1000] 는 왜 오류가 나는 걸까요? 불리언 인덱싱 값을 시리즈 형태로 반환할 때, 새로 지정한 academy_count는 시리즈 형태이지만, df_academy는 데이터프레임이라서 오류가 나는 건가요??

  • python
  • pandas
  • numpy
박찬모 댓글 2 좋아요 0 조회수 311

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

해결됨

Airflow 마스터 클래스

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

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

관련 책이 언제 나올까요?

미해결

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

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

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

강의자료 부탁드립니다

미해결

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

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

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

멀티 선택 단축키

해결됨

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

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

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

원핫 인코딩에서 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

categorical 변수의 수치화

해결됨

파이썬을 활용한 머신러닝 딥러닝 입문

강의 중에 성별의 경우 성별이라는 COLUMN에 여자는 0, 남자는 1 이런식으로 하면 안 되고 여자 칼럼/남자 칼럼을 나눠줘야 한다고 하셨는데 그 이유가 뭔지 질문 드립니다! 대소관계가 없도록 하는 거라고 하셨는데, 잘 이해가 되지 않아서요! 또 그럼 반대로 ordinal category의 경우 사이즈라는 칼럼을 만들어서 L은 3, m은 2, s는 1로 한 번에 넣어도 괜찮은 건가요? 늘 감사합니다, 강사님!

  • python
  • 머신러닝
  • 딥러닝
  • pandas
  • numpy
  • keras
  • tensorflow
  • anaconda
  • matplotlib
  • cnn
태보미 댓글 1 좋아요 0 조회수 211

Residual Error

해결됨

파이썬을 활용한 머신러닝 딥러닝 입문

앙상블의 boosting에 대해 듣던 중 질문이 있어 글을 남깁니다! residual error를 실제 값과 예측값의 차이라고 이해했는데, 검색해보니 단순 error와는 조금 다른 말이라는 이야기가 많아서요. 혹시 error와 residual error에 차이가 있나요?

  • python
  • 머신러닝
  • 딥러닝
  • pandas
  • numpy
  • keras
  • tensorflow
  • anaconda
  • matplotlib
  • cnn
태보미 댓글 1 좋아요 1 조회수 203

네이버 메일 자동화 실습 문의

해결됨

[신규 개정판] 이것이 진짜 엑셀자동화다 - 기본편

안녕하세요 네이버 메일 자동화 코드를 실행하면 메일 쓰기 버튼을 계속 찾지 못하고 있어 어떻게 수정하면 될지 문의드립니다. 메일함 이동까지는 정상적으로 되고 있으나 메일 쓰기 버튼만 찾지 못하고 있습니다. 코드는 다음과 같습니다. from selenium.webdriver import ChromeOptions from selenium import webdriver from selenium.webdriver.chrome.service import Service as ChromeService from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.by import By import time import pyperclip import pyautogui from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC options = ChromeOptions() options.add_experimental_option("detach", True) driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()), options=options) driver.get('https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/') driver.maximize_window() # 화면 최대화 # 아이디 입력창 id = driver.find_element(By.CSS_SELECTOR, '#id') id.click() pyperclip.copy('eooe5173') pyautogui.hotkey('ctrl', 'v') time.sleep(2) # 비밀번호 입력창 passward = driver.find_element(By.CSS_SELECTOR, '#pw') passward.click() pyperclip.copy('ssw471395~') pyautogui.hotkey('ctrl', 'v') time.sleep(2) # 로그인 버튼 driver.find_element(By.CSS_SELECTOR, '#log\.login').click() time.sleep(5) # 메일함으로 이동 mailbox = driver.find_element(By.CSS_SELECTOR,'#shortcutArea > ul > li:nth-child(1) > a').click() time.sleep(5) # 내게 쓰기 버튼 writeme_button =driver.find_element(By.CSS_SELECTOR, '#root > div > nav > div > div.lnb_header > div.lnb_task > a.item.button_write').click() # 메일 제목 입력창 및 입력 mailname = driver.find_element(By.CSS_SELECTOR, '#subject_title').click() pyperclip.copy('안녕하세요') pyautogui.hotkey('ctrl', 'v') time.sleep(5) # 메일 내용 입력창 및 입력 mailinfo = driver.find_element(By.CSS_SELECTOR, '#body > div > div.workseditor-content').click() pyperclip.copy('네이버 메일 자동화입니다.') pyautogui.hotkey('ctrl', 'v') time.sleep(5) # 메일 저장 mailsave = driver.find_element(By.CSS_SELECTOR, '#content > div.mail_toolbar.type_write > div:nth-child(1) > div > button.button_write_task').click() time.sleep(5) 에러는 동일하게 다음과 같이 노출되고 있습니다. selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"#root > div > nav > div > div.lnb_header > div.lnb_task > a.item.button_write"} (Session info: chrome=123.0.6312.123) Stacktrace: GetHandleVerifier [0x00D14CA3+225091] (No symbol) [0x00C44DF1] (No symbol) [0x00AE9A7A] (No symbol) [0x00B2175B] (No symbol) [0x00B2188B] (No symbol) [0x00B57882] (No symbol) [0x00B3F5A4] (No symbol) [0x00B55CB0] (No symbol) [0x00B3F2F6] (No symbol) [0x00B179B9] (No symbol) [0x00B1879D] sqlite3_dbdata_init [0x01189A43+4064547] sqlite3_dbdata_init [0x0119104A+4094762] sqlite3_dbdata_init [0x0118B948+4072488] sqlite3_dbdata_init [0x00E8C9A9+930953] (No symbol) [0x00C507C4] (No symbol) [0x00C4ACE8] (No symbol) [0x00C4AE11] (No symbol) [0x00C3CA80] BaseThreadInitThunk [0x764EFCC9+25] RtlGetAppContainerNamedObjectPath [0x77DE7C5E+286] RtlGetAppContainerNamedObjectPath [0x77DE7C2E+238]

  • python
  • selenium
  • openpyxl
댓글 1 좋아요 0 조회수 401

useQuery vs useQueryClient

해결됨

Next + React Query로 SNS 서비스 만들기

tanstack query와 next.js 를 함께 사용하면서 의문이 들어 질문합니다! 강의의 코드를 보니 같이 prefetch를 해도 유저데이터는 useQueryClient를 사용해서 데이터를 재사용하는듯한데 안에 하위 컴포넌트의 경우 prefetch를하고 useQuery를 사용해서 데이터를 가져오는듯 하더라구요 이 경우도 데이터를 재사용하는건가요? 아니면 새로 가져오는건가요? 그렇다면 똑같이 데이터를 prefetch해도 useQueryClient를 사용해서 가져오는것과 useQuery를 사용해서 가져와야하는 기준이 있을까요? (저의경우 프로젝트 전체를 prefetch후 useQueryClient를해서 데이터를 가져왔더니 데이터를 가져옴과 동시에 fresh가아니라 inactive상태가 되더라구요. ) 좋은강의 감사합니다. 벚꽃같은 제로초 화이팅

  • react
  • next.js
  • react-query
  • next-auth
  • msw
개발새발 댓글 1 좋아요 0 조회수 608

제목과 영상이 다른것 같아요~

해결됨

Airflow 마스터 클래스

Task 실패시 email 발송하기 sla 로 task 수행현황 감시하고 email 발송하기 이 두개의 영상이 바뀐것 같아 보입니다 확인 해봐주세요~

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

get_string함수에서 문자 'nan'

미해결

공공데이터로 파이썬 데이터 분석 시작하기

이렇게 적용시 이미 편익시설의 값에는 nan이 제거되어야 하는게 아닌가 싶은데 여기서 다시 편익시설 컬럼을 불러오면 nan이 그대로 있는 이유가 궁금합니다 !

  • python
  • pandas
  • numpy
jh220307 댓글 1 좋아요 0 조회수 219

\ <-이 작대기 작성 키는 무엇인가요??

미해결

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

\ <-이 작대기 작성 키는 무엇인가요??

  • python
재원정 댓글 2 좋아요 0 조회수 288

웹사이트에서 바로 한글로 번역되는거 어떤 프로그램쓰시는건가요?

해결됨

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

안녕하세요. 처음 15초쯤에 nextjs소개하면서 나오는 번역프로그램은 어떤걸 쓰시는건가요? 편리해보여서요~

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

인기 태그

인프런 TOP Writers

주간 인기글