묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
섹션9 에서 5단계 질문입니다~
감탄에 감탄!!명강의 정말 감사합니다.취업준비로 독학하고 있는데 쌤 강의에서 많은 걸 배우고 명강의라는걸 항상 느낍니다. 벌써부터 다음 로드맵에 기대가 되고설레면서 재밌게 공부하고 있습니다. 아... 다름이 아니라섹션9에서 5단계: 타이틀별 댓글 가져와서 출력하기import requests from bs4 import BeautifulSoup res = requests.get('https://davelee-fun.github.io/trial/board/news.html') soup = BeautifulSoup(res.content, 'html.parser') items = soup.select('div.list_title') i = 0 for item in items[:5]: title = item.select_one('span.subject_fixed') reply_count = item.select_one('span.rSymph05') link = item.select_one('a.list_subject') if title != None: i += 1 print(i, title.get_text().strip(), reply_count.get_text()) res_title = requests.get('https://davelee-fun.github.io/trial/board/'+link['href']) soup_title = BeautifulSoup(res_title.content, 'html.parser') replies = soup_title.select('div.comment_content') for reply in replies: print('ㄴ', reply.get_text().strip().replace("\n", "").replace("\t", ""))위는 제가 입력한 부분인데 출력값이 쌤과 다르게 3번째 게시글 댓글까지 나와서요.아무리 봐도 어디가 다른지 몰라서요.. 한번 봐주시고 피드백 부탁드릴게요 1 KT, MS 투인원 랩톱 '서피스 프로9 5G' 단독 출시 1 ㄴ 국내통신사 + 5G 두개의 단어만 합쳐지면 왜 다 같지않아 보일까용?? 2 NIO, 차량가격 인하 및 배터리스왑 옵션으로 분리 2 ㄴ 니로가 아니고 니오군용 허허허 배터리스왑은 충전보다 좋을꺼 같아요. 자동차를 스마트폰처럼 방수때문에 배터리 교체형을 버리고 일체형으로 하면충전시간이 너무 긴거같아요. ㄴ 니오 전기차 국내에서도 한대 봤습니다. 모카 영상에 나왔던 이 차량이었어요.어떤 아주머니께서 운전하시던데 홍보용인지개인차량인지...신기하더라고요. ㅎㅎ 3 삼성전자, 게이밍 모니터 ‘오디세이 OLED G9’ 출시 6 ㄴ M9은. . . .ㅜ.ㅜ ㄴ 삼성 공식 보도자료인데도 테어링 현상을 티어링이라고 하고 있네요..아수스 노트북같은데 상세페이지에서도 그러던데..하.. ㄴ 이 정도면 기사를 가장한 광고 아닌가요?? ㄴ @미드나잇님 삼성전자 뉴스룸이면보도자료죠. 거기서 광고를 하든말든 상관없어보이구요. ㄴ @미드나잇님공식보도자료입니다.https://news.samsung.com/kr/%EC%82%BC%EC%84%B1%EC%A0%84%EC%9E%90-%EA%B2%8C%EC%9D%B4%EB%B0%8D-%EB%AA%A8%EB%8B%88%ED%84%B0-%EC%98%A4%EB%94%94%EC%84%B8%EC%9D%B4-oled-g9-%EC%B6%9C%EC%8B%9C하단에출처로된 기재된 링크로 들어가시면 나와요 https://news.samsung.com/kr/%EC%9D%B8%ED%8F%AC%EA%B7%B8%EB%9E%98%ED%94%BD-%EB%8D%94%EC%9A%B1-%EA%B0%95%EB%A0%A5%ED%95%B4%EC%A7%84-%EC%98%A4%EB%94%94%EC%84%B8%EC%9D%B4-oled-%EA%B2%8C%EC%9D%B4%EB%B0%8D-%EB%AA%A8인포그래픽은이어서 추가한거구요. ㄴ 220만원 진짜 싸게나왔네요 ㄷㄷ못해도 300만은 넘을 줄 알았는데사용기들 보고 반년뒤쯤에 사야겠네요
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
vs로 코드돌려도 상관없을까요?
안녕하세요.혹시 주피터노트북을 사용하지 않고, 일반 코드처럼 코딩후 실행하여도 괜탆을까요?현재 현업에서도 주피터노트북을 사용하는지도 궁금합니다!
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
패턴으로 실습하며 익히기: HTML/CSS 이해를 바탕으로 크롤링하기 9분47초 질문드립니다.
섹션3 마지막강의의 9분 47초 내용입니다.위 사진은 제가 소스 코드를 땄을 때 사진이고 저는 div tag에 class가 두개가 아닌 하나로 나타나있습니다. 왜 같은 링크인데 소스코드가 달라진지 모르겠습니다.그리고 저렇게 속성이 여러개일때는 find함수 안에 ('div',attrs={'class':'layer_body' , 'data-translation':'true'})라고 작성하면 될까요? - 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
16강 데이터시각화 코드 오류
안녕하세요!16강 <쉽게 알아보는 그래프 데이터 정규화 - 2개 요인 상관관계 분석> 수업을 들으며 따라 해보던 중,가장 마지막에 설명해주신 코드를 실행시키면 오류메시지가 뜹니다. 원인을 알 수 없어 문의 드립니다.제가 작성한 콜랩노트 입력코드plt.figure(figsize=(20,10)) plt.plot(df_covid19_scaled_to_dataframe[0], color='b') plt.plot(df_customer_prices_scaled_to_dataframe[0], color='r') plt.legend(['confirmed covid-19','customer prices after covid-19'])에러메시지--------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-17-813ac38c1cb0> in <cell line: 2>() 1 plt.figure(figsize=(20,10)) ----> 2 plt.plot(df_covid19_scaled_to_dataframe[0], color='b') 3 plt.plot(df_customer_prices_scaled_to_dataframe[0], color='r') 4 plt.legend(['confirmed covid-19','customer prices after covid-19']) NameError: name 'df_covid19_scaled_to_dataframe' is not defined <Figure size 2000x1000 with 0 Axes>
-
미해결일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
13강 시각화함수 결과 그래프에 관한 문의
선생님 안녕하세요.직접 크롤링한 리뷰데이터의 텍스트로 시각화 실습을 해보니 신기하기도 하고, 앞으로 잘 활용하고 싶다는 생각이 드는데요.결과 그래프를 어떻게 해석하는 것이 좋을지 약간의 가이드를 여쭙고 싶습니다 :)키워드 크기 : 사용 빈도수에 따라 키워드 크기가 결정될 것 같은데, 맞을까요?x,y축 해석 : x축과 y축이 각각 무엇을 의미하는지 궁금합니다.색상도 어떤 특정한 의미가 있을까요? *.*너무 흥미로워서 질문을 드리게 되네요. 감사합니다. (예) 뷰티디바이스 리뷰 크롤링
-
미해결일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
9강 코드 입력 시 에러
안녕하세요!9강 (네이버쇼핑) 카테고리별 인기검색어 크롤링 강의자료 내 공유해주신 코드 정보를 바탕으로 제 연습노트에서 따라 작성해보았는데요.rank_info_list[0].get_text().find("위") 코드 실행하면서부터 오류 메시지가 뜨는데, 해결 방법 있을지 문의 드립니다. *입력코드 rank_info_list[0].get_text().find("위")*에러 메시지--------------------------------------------------------------------------- IndexError Traceback (most recent call last) <ipython-input-29-a773d15d80f4> in <cell line: 2>() 1 # rank_info_list[0].get_text().find("상품펼치기") ----> 2 rank_info_list[0].get_text().find("위") IndexError: list index out of range 감사합니다:)
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
html에 a id가 나오지 않습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
소스코드 실행오류
안녕하세요 확인해보니 강의자료에 붙어있는 소스코드 링크는 옛날 소스코드가 들어가 있어서 업데이트가 필요할 거 같습니다 그리고 전달 주신 소스 링크 안에서는 코드가 잘 돌아가는데 저는 두번째 섹션 코드를 돌리면 TypeError Traceback (most recent call last) <ipython-input-25-e1d24ca4db7f> in <cell line: 48>() 46 options.add_argument('--headless') 47 options.add_argument('--no-sandbox') ---> 48 driver = webdriver.Chrome(service=service, options=options) TypeError: WebDriver.__init__() got an unexpected keyword argument 'service'이런 오류가 나옵니다 드라이버 업데이트를 해서 그런걸까요??
-
해결됨일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
크롤링 자동화 실습(3) 질문
안녕하세요 강사님return document.getElementsByClassName(\"link_text\")[${loopNum}].text.replace(String.fromCharCode(0),' ') 위 오류가 뭔지 잘 모르겠습니다.설명해주시면 감사하겠습니다:) 항상 빠른 답변 감사합니다.
-
미해결일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
5강 크롬 드라이버 코드 오류+크롬 드라이버 자동 업데이트 코드 질문
안녕하세요 강사님 5강 코드 오류가 났는데크롬 드라이브가 업데이트되어서 그런 걸까요?그리고 인터넷 서치해보니 자동 업데이트 코드가 있다던데 해당 강의에 적용 가능한지도 추가 질문드립니다:) [오류코드]driver = webdriver.Chrome('chromedriver', options=chrome_options)
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
안녕하세요 선생님 여기에 이런 질문을 해도될지 모르겠지만 부탁드립니다ㅠㅠ
셀레니움 크롬 드라이버를 배우고 웹하드 크롤링을 하려고 하는데 예기치 못한 상황이 생겼습니다... https://smartfile.co.kr/ 스마트파일이라는 사이트를 크롤링하려고 하는데 일단 크롬드라이버로 사이트에 접속을하고원하는 카테고리의 정보를 (페이지 번호, 개수 등등)을 넣어서 beautiful soup로 받아오려고 했지만 특정 카테고리에 가서 url을 그대로 복사하고 브라우저에서 복사한 url을 그대로 입력후 접속을 하니까 smart file이라는 글자만 나오고 자료가 나오지 않는 상황이 생깁니다..그래서 뭔가 막아놨구나 생각해서 chrome driver로 카테고리를 클릭해서 들어가려고 코드를 짰는데 카테고리를 클릭하니까 구글로 이동이됩니다. 뭔가 되게 많이 막아놓은것같은데 자바스크립트 명령어로 클릭을 해봐도 동일한 결과가 나옵니다 어떻게 하면 좋을까요 부탁드립니다... 이것은 driver를 생성하는 모듈입니다""" 크롬 드라이버 생성 및 설정 모듈 """ from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options # 크롬 드라이버 자동 업데이트 from webdriver_manager.chrome import ChromeDriverManager def create_driver(): # 크롬 브라우저 꺼짐 방지 chrome_options = Options() chrome_options.add_experimental_option('detach', True) # 불필요한 에러 메시지 없애기 chrome_options.add_experimental_option('excludeSwitches', ['enable-logging']) # 크롬 드라이버 최신 버전 설치 service = Service(executable_path=ChromeDriverManager().install()) # 드라이버 객체 생성 driver = webdriver.Chrome(service=service, options=chrome_options) driver.service = service driver.implicitly_wait(10) driver.maximize_window() return driver 이것은 크롬드라이버를 생성해서 크롤링을하려고 크롬드라이버로 접속해서 해당 url에 접속하는 모듈입니다import time from selenium import webdriver from selenium.webdriver.common.by import By def execute_crawling(driver: webdriver.Chrome, url: str): for i in range(2): driver.get(url) time.sleep(2) if i == 0: menu_book = driver.find_element(By.CSS_SELECTOR, '#wrap > div.wrap-nav-wrap > div > ul.depth1 > li.menutop_DOC.m9') driver.execute_script("arguments[0].click();", menu_book) time.sleep(1)
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
네이버 쇼핑 크롤링 1
강의 : 네이버 쇼핑 크롤링 1 , 11:14 시점에서 막힙니다. from bs4 import BeautifulSoup import requests keyword = input("검색할 제품을 입력하세요 : ") url = "https://search.shopping.naver.com/search/all?query={keyword}" user_agent = "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Mobile Safari/537.36" headers = {'User-Agent': user_agent} req = requests.get(url, headers=headers) html = req.text # print(html[:1000]) 확인용 soup = BeautifulSoup(html, "html.parser") base_divs = soup.select("[class^=product_item]") # product_item 로 클래스 이름이 시작되는 클래스 # print(base_divs) print(len(base_divs)) for base_div in base_divs: title = base_div.select_one("[class^=product_link]") print(title.text) 우선 강의에서는 basicLis_item, basicList_link 로 했는데 현재 네이버 쇼핑몰에서는 product_item***, product_link*** 로 되어 있습니다. 아래 스샷처럼요. 그런데 코드를 치니까 이상한게 나와요 자꾸..이유가 뭘까요 ??
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
셀레니움 정상 작동 되다가 오늘부로 갑자기 오류가 발생
안녕하세요. 강의를 잘 수강하고 있습니다.다름이 아니라 셀레니움으로 작성했던 코드들이 정상적으로 모두 잘 작동되다가 오늘부로 갑자기 오류가 발생하여 문의드립니다!오류를 해결하기 위해 버전 업그레이드도 모두 하였고, 재부팅도 해보았지만 셀레니움으로 작성했던 모든 코드들에서 맨 아래와 같은 오류가 발생했습니다 ㅠㅠ 코드는 아래와 같습니다.# -*- coding: utf-8 -*- # 외우는거 아님. 그냥 필요할 때 복붙 from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By import time # 크롬 드라이버 자동 업데이트 from webdriver_manager.chrome import ChromeDriverManager #브라우저 꺼짐 방지 chrome_options = Options() chrome_options.add_experimental_option("detach", True) # 불필요한 에러 메시지 없애기 chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) service = Service(executable_path=ChromeDriverManager().install()) browser = webdriver.Chrome(service=service, options=chrome_options) # 웹페이지 해당 주소 이동 browser.get("https://www.naver.com")오류 메시지는 다음과 같습니다.Traceback (most recent call last): File "c:\pratice_crolling\실습4_셀레니움 기본 설정\[기초복붙용]셀레니움 기본 설정.py", line 21, in <module> File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\chrome.py", line 39, in install driver_path = self._get_driver_path(self.driver) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\core\manager.py", line 30, in getdriver_path file = self._download_manager.download_file(driver.get_driver_download_url()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\drivers\chrome.py", line 40, in get_driver_download_url driver_version_to_download = self.get_driver_version_to_download() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\core\driver.py", line 51, in get_driver_version_to_download self._driver_to_download_version = self._version if self._version not in (None, "latest") else self.get_latest_release_version() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\drivers\chrome.py", line 62, in get_latest_release_version resp = self._http_client.get(url=latest_release_url) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\core\http.py", line 37, in get self.validate_response(resp) File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\core\http.py", line 16, in validate_response raise ValueError(f"There is no such driver by url {resp.url}")ValueError: There is no such driver by url https://chromedriver.storage.googleapis.com/LATEST_RELEASE_115.0.5790
-
미해결Node.js로 웹 크롤링하기
puppeteer 관련
headless : false 로 설정해서 실행을 하면...생각보다 자주 크로니움이 많이 튕기며 오류를 발생시킵니다.puppeteer 와 puppeteer-core 업데이트도 진행했고, 크롬브라우져도 최신버젼을 사용하고 있습니다. 혹시 팁있을까요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
직접 작성해보며 익숙해지기: 크롤링 기본 연습문제 풀기 (업데이트) 4/5번 질문입니다
직접 작성해보며 익숙해지기: 크롤링 기본 연습문제 풀기 (업데이트)예제 사이트 크롤링연습 4/5번문제 질문입니다.select_one을 사용하지 않고, import requestsfrom bs4 import BeautifulSoupurl = 'https://davelee-fun.github.io/'res = requests.get(url)soup = BeautifulSoup(res.content, 'html.parser')box = soup.select('section.recent-posts')items = box[0].select('h4.card-text')for item in items: print(item.get_text().strip())이런 식으로 select를 사용해서 분리하면 안되는건가요? 원소가 하나인 리스트가 되는걸로 이해해서 [0]을 사용하고 그 후에 h4.card=text를 사용하면 출력은 똑같이 되는데, 차후 크롤링 할때 이렇게 이해하면 문제가 있을까요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
selenium 에 대한 강의는 따로 없나요?
selenium 에 대한 강의는 따로 없나요?
-
해결됨Node.js로 웹 크롤링하기
6-3 proxy-database 관련
sequelize-cli 까지 설치가 된거 같긴 한데... sequelize init 을 누르면 그림과 같이 오류가 떠요~ mac 에서 nvm 도 설치하고, 이것저것 계속 했는데도 잘 안됩니다. 아래 작업도 했는데도, 안돼서 진도를 3시간째 못나가고 있네요. 도움 주시면 감사하겠습니다. ㅠㅠ 정말 열심히 듣고 있는데.. ㅠ
-
해결됨일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
6강 셀레니움 module import 관련
안녕하세요 선생님! 수업 감사합니다:)6강에서 웹크롤링 코드 설명해주신 부분 관련입니다.제 연습용 콜랩 노트에서 선생님께서 공유해 주신 코드를 위에서부터 차곡차곡 붙여넣으며 실행해보던 중이었는데요.셀레니움 module import 부분에서부터 정상적으로 실행이 되지 않는 것 같습니다... 하단 오류 메시지를 어떻게 해석해야 할지 몰라, 해결방법 문의드립니다.입력한 코드################################################################################################################################################################ # 2023.07.09 셀레니움 버전업으로 인한 코드 변경 ################################################################################################################################################################ from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By import time from time import sleep from bs4 import BeautifulSoup import requests import re import os # Dataframe import pandas as pd df = pd.DataFrame(columns=['idx','star','review']) service = Service(executable_path="chromedriver") options = webdriver.ChromeOptions() options.add_argument('--headless') options.add_argument('--no-sandbox') driver = webdriver.Chrome(service=service, options=options)실행 시 결과 메시지--------------------------------------------------------------------------- WebDriverException Traceback (most recent call last) <ipython-input-21-e1d24ca4db7f> in <cell line: 48>() 46 options.add_argument('--headless') 47 options.add_argument('--no-sandbox') ---> 48 driver = webdriver.Chrome(service=service, options=options) 3 frames /usr/local/lib/python3.10/dist-packages/selenium/webdriver/common/service.py in assert_process_still_running(self) 108 return_code = self.process.poll() 109 if return_code: --> 110 raise WebDriverException(f"Service {self._path} unexpectedly exited. Status code was: {return_code}") 111 112 def is_connectable(self) -> bool: WebDriverException: Message: Service /usr/bin/chromedriver unexpectedly exited. Status code was: 1
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
'블랙핑크' 검색 시에만 오류가 뜨는 현상
안녕하세요. 강사님 아래 코드에서 '블랙핑크' 를 검색할 때 Traceback (most recent call last): File "c:\pratice_crolling\심화1_\03_스포츠 뉴스 크롤링.py", line 52, in <module> print(article_title.text.strip()) ^^^^^^^^^^^^^^^^^^AttributeError: 'NoneType' object has no attribute 'text'다음과 같은 오류가 뜹니다 ㅠㅠ CSS 선택자, 오타도 모두 맞게 확인이 되는데 왜 저 검색어만 오류가 뜰까요ㅠㅠ?# -*- coding: euc-kr -*- # 네이버에서 손흥민, 오승환과 같은 스포츠 관련 검색어 크롤링하기 import requests from bs4 import BeautifulSoup import pyautogui import time search = pyautogui.prompt("어떤 것을 검색하시겠어요?") response = requests.get(f"https://search.naver.com/search.naver?sm=tab_hty.top&where=news&query={search}&oquery=%EC%98%B7%EC%9C%BC%ED%99%98&tqi=i74G%2FdprvTossZPeMhCssssssko-058644") html = response.text soup = BeautifulSoup(html, "html.parser") articles = soup.select(".info_group") for article in articles: # '네이버뉴스' 가 있는 기사만 추출한다. (<a> 하이퍼링크가 2개 이상인 경우에 해당) links = article.select("a.info") if len(links) >=2 : url = links[1].attrs['href'] response = requests.get(url, headers={'User-agent':'Mozila/5.0'}) html = response.text soup = BeautifulSoup(html, "html.parser") # 스포츠 기사인 경우 if "sports" in url: article_title = soup.select_one("h4.title") article_body = soup.select_one("#newsEndContents") # 본문 내에 불필요한 내용 제거 p태그와 div태그의 내용은 출력할 필요가 없다. 없애주자. p_tags = article_body.select("p") # 본문에서 p 태그인 것들을 추출 for p_tag in p_tags: p_tag.decompose() div_tags = article_body.select("div") # 본문에서 div 태그인 것들을 추출 for div_tag in div_tags: div_tag.decompose() # 연예 기사인 경우 elif "entertain" in url: article_title = soup.select_one(".end_tit") article_body = soup.select_one("#articeBody") # 일반 뉴스 기사인 경우 else: article_title = soup.select_one("#title_area") article_body = soup.select_one("#dic_area") # 출력문 print("==================================================== 주소 ===========================================================") print(url.strip()) print("==================================================== 제목 ===========================================================") print(article_title.text.strip()) print("==================================================== 본문 ===========================================================") print(article_body.text.strip()) #strip 함수는 앞 뒤의 공백을 제거한다. time.sleep(0.3)
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
스크래핑 오류
import requestsfrom bs4 import BeautifulSoupres = requests.get('https://v.daum.net/v/20170615203441266')soup = BeautifulSoup(res.content,'html.parser')data = soup.find('div', 'layer body') data.get_text() 을 작성했는데, 'NoneType' object has no attribute 'get_text'오류가 뜨더라고요. 28강에 적힌 스크래핑 코드와 좀 달라서 형식은 같게 넣었는데 오류라, 무엇이 문제인지 알 수 있을까요?