묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
네이버 로고가 없어졌습니다. ^^
선생님 네이버 로고가 없어졌어요... 다른것을 불러오니, 되네요 ^^
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
수업 노트
안녕하세요?라고 했는데 수업 노트는 어디에 있나요?아무리 찾아도 없습니다.
-
해결됨업무 자동화 첫걸음: Python으로 이메일 대량 전송하기와 크롤링 프로젝트 완성하기
샘플 코드가 다른거 같아요.
안녕하세요, 수강생 여러분학습 관련 내용을 질문해주세요! 영상에나온 Gmail Api python 샘플 코드와 현재 구글에서 제공하는 샘플 코드가 다른거같아요.영상에서 나온 코드를 직접 타이핑 하면될까요?참고로 구글에서 제공하는 샘플코드는 아래와 같아요.import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build from googleapiclient.errors import HttpError # If modifying these scopes, delete the file token.json. SCOPES = ["https://www.googleapis.com/auth/gmail.readonly"] def main(): """Shows basic usage of the Gmail API. Lists the user's Gmail labels. """ creds = None # The file token.json stores the user's access and refresh tokens, and is # created automatically when the authorization flow completes for the first # time. if os.path.exists("token.json"): creds = Credentials.from_authorized_user_file("token.json", SCOPES) # If there are no (valid) credentials available, let the user log in. if not creds or not creds.valid: if creds and creds.expired and creds.refresh_token: creds.refresh(Request()) else: flow = InstalledAppFlow.from_client_secrets_file( "credentials.json", SCOPES ) creds = flow.run_local_server(port=0) # Save the credentials for the next run with open("token.json", "w") as token: token.write(creds.to_json()) 개인적으로 스크래핑/크롤링하는 사이트에 대한 질문에 대해서는 답변을 드리지 않아요!
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
학습 자료
안녕하세요.수업에 사용하신 코드는 어디서 받을 수 있을까요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
업데이트 된 API 를 기존 강의 내용에 맞게 따라하던 중 문제가 발생하였습니다.
from openai import OpenAI client = OpenAI( api_key = "----" ) message = [] while True : user_cotent = input("user : ") message.append({"role": "system", "content": f"{user_cotent}"}) completion = client.chat.completions.create(model="gtp=3.5-turbo", messages=message) assisant_content = completion.choices[0].message["content"] message.append({"role": "assiant", "content": f"{assisant_content}"}) print(f"GPT : {assisant_content}") 업데이트 된 API로 인하여 강의에서 막혔던 부분을 유튜브를 통해 해결하고 API Key에서 막혔던 부분은 결제를 통하여 해결하였습니다. 그리고 유튜브에서 업데이트 된 Assistant 내용이 있어 그 부분까지는 따라했습니다.그런데 58강(openai API 사용법(ChatGPT gpt-3.5-turbo 모델) 강의 내용을 제 나름대로 업데이트된 API 코딩에 맞게 수정하여 실행해 봤는데 에러가 발생하네요기존 강의와 업데이트 된 API 는 접목이 되지 않는건가요? 그렇다면 API와 대화하듯이 질문을 주고 받는 것은 업데이트 된 Assisant 코딩에서 수정을 하여 만들어야 하는건가요? 이 뒷 강의들을 내용을 아직 보지는 않았으나 만일 현재 업데이트된 API와 맞지 않다면 어떻게 공부하는게 맞을까요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
open api 사용 강의 중 질문이 있습니다.
알려주신 업데이트된 openapi 강의를 유튜브에서 보고 따라하였는데 에러가 발생하여 문의드립니다. 발생한 에러는 이렇습니다. 혹시 크레딧이 없어서 발생하는 문제일까요?현재 크레딧 창을 보면 이렇게 되어 있네요..
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
chat gpt api 사용법관련 문의드립니다.
현재 강의 후 openai API 내용이 업데이트 되었는지 모르겠지만 강의 내용과 좀 다른 부분이 있어서 문의드립니다.사이트 코딩강의 코딩import 부분과 api_key 넣는 부분 등 코딩이 대체적으로 좀 다르네요.
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
쿠팡 크롤링시 연결이 비공개로 설정되어 있지 않습니다. 경고문 발생하였습니다.
크롤링을 하게 되면 크롤링한 사이트의 정보는 가져오는데 링크를 클릭하면 "연결이 비공개로 설정되어 있지 않습니다." 이렇게 발생합니다. 이게 쿠팡에서 크롤링을 막은 것인지 아니면 어떠한 문제 때문에 그런건가요? 그리고 해결 방법은 무엇이 있을까요?인터넷 검색해보니 여러가지 답변이 있는데 맞는 방법인지 잘 몰라서 문의 드립니다.
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
Javascript와 iframe이 포함된 url cawling시 문제점
안녕하세요.Javascript나 iframe등이 포함된 url을 crawling할때 devTools에서는 분명히 element가 존재하는데Selenium WebDriver의 page_source에는 추가된 element는 없고 JavaScript와 기타 code만 보이는 문제가 있습니다. Javascript나 iframe등이 실행되고 난 결과의 html,즉 element가 전부 업데이트된 것을 받아 볼수 있는 방법이 없을까요?sleep,wait등을 충분히 줬는데도 해결이 안되네요. 감사합니다. ^^
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
웹드라이버 오류
driver = webdriver.Chrome()여기서 계속 오류가 나는데요.혹시 최근에 바뀐게 있나요? 강의 내용 외 개인적인 실습 사이트의 질문은 답변이 제공되지 않습니다.문제가 생긴 코드, 에러 메세지 등을 꼭 같이 올려주셔야 빠른 답변이 가능합니다.코드를 이미지로 올려주시면 실행이 불가능하기 때문에 답변이 어렵습니다.답변은 바로 제공되지 않을 수 있습니다.실력 향상을 위해서는 직접 고민하고 검색해가며 해결하는 게 가장 좋습니다.
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
셀레니움 업데이트 관련 질문
안녕하세요. 셀레니움 버전 업데이트 부분 강의 듣고 있습니다.버전 업데이트를 했는데도 셀레니움이 4.15 버전에서 업데이트가 되지 않네요 from selenium import webdriver import time driver = webdriver.Chrome() driver.get("https://google.com") time.sleep(2) 위와 같이 작성하고 실행 했을 때 웹 브라우저가 뜨고 닫히기는 합니다...! 그럼 문제가 없는 건가요? cache 폴더에 봐도 셀레니움 폴더에 웹드라이버 폴더가 따로 없어서요.
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
셀레니움 실습 중에 뜨는 로그 질문
DevTools listening on ws://127.0.0.1:3303/devtools/browser/005418e0-65b8-48b9-8b7d-eb9e884ab79b[2552:20700:1021/035027.954:ERROR:device_event_log_impl.cc(225)] [03:50:27.955] USB: usb_service_win.cc:415 Could not read device interface GUIDs: 지정된 파일을 찾을 수 없습니다. (0x2) 안녕하세요. 셀레니움은 잘 작동을 하는데 이런 오류가 뜹니다. 어떻게 해결할 수 있는 건가요?
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
쿠팡 크롤링에서 쿠키로 해결하는 방법 질문
안녕하세요.쿠팡 크롤링에서 cookie로 실행 안되는(?) 문제 해결하는 영상 보고 있는데요.status code가 403이 나오는데 괜찮은 건가요? 아래에 작성한 코드도 같이 올렸습니다.쿠팡에서 header에 user-agent를 넣어주는 것만으로 해결이 되지 않는 이유가 이것만으로는 쿠팡이 브라우저로 접근했다고 인식하지 않아서 인건가요? import requests from bs4 import BeautifulSoup headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" } base_url = "https://www.coupang.com/np/search?component=&q=" keyword = input("검색할 상품명을 입력해주세요: ") search_url = base_url + keyword cookie = {"a": "b"} req = requests.get( search_url, timeout=5, headers=headers, cookies=cookie ) print(req.status_code)
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
find로 찾을 때 계속해서 none이 나옵니다.
안녕하세요. 뷰티풀수프 기초 사용법 수강 중에 잘 안되는 부분이 있어서 질문 남깁니다. 네이버 메인 화면 개발자 모드에서 <span class="service_name">메일</span> 라는 태그를 찾아서이 태그를 찾기 위해 span = soup.find(class_="service_name", string="메일") print(span) 이렇게 작성했는데 왜 결과값이 none 이 나오는지 이유를 모르겠습니다 ㅠㅠ 그리고 앞의 강의에서 개발자 모드의 element가 아니라 소스보기에서 보이는 코드에서 태그를 검색해서 찾아내는 것(?)이라고 말씀하셨던 것 같은데 제대로 이해한게 맞나요?소스 보기로 보면 코드가 너무 지저분하게 보이는데 혹시 깔끔하게 볼 수 있는 방법이 있을까요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
service 관련코드를 지우면 실행이 안되요
저는 selenium 4.14 버전 사용중인데 service 관련 내용들을 지우면 실행이 되지 않는데 뭐가 문제일까요? 아래 오류가 뜹니다. driver = webdriver.Chrome() ^^^^^^^^^^^^^^^^^^ File "c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\localcache\local-packages\python311\site-packages\selenium\webdriver\chrome\webdriver.py", line 45, in __init__ super().__init__( File "c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\localcache\local-packages\python311\site-packages\selenium\webdriver\chromium\webdriver.py", line 51, in __init__ self.service.path = DriverFinder.get_path(self.service, options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\localcache\local-packages\python311\site-packages\selenium\webdriver\common\driver_finder.py", line 41, in get_path raise NoSuchDriverException(msg) from errselenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain driver for chrome using Selenium Manager.; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
네이버 쇼핑 크롤링 문의
from bs4 import BeautifulSoup import requests keyword = input("검색할 제품을 입력하세요 : ") url = f"https://search.shopping.naver.com/search/all?query={keyword}" user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36" headers = {"User-Agent" : user_agent} req = requests.get(url, headers = headers) html = req.text soup = BeautifulSoup(html, 'html.parser') items = soup.select(".product_item__MDtDF") print(items) print(len(items))네이버 쇼핑 크롤링 중 문의사항이 있어 글 남깁니다위의 코드 처럼 네이버 쇼핑에서 검색 시 상품 정보 중 product_item__MDtDF를 받아와서 리스트를 만드려고 하는데 크롬 개발자도구에서는 11개로 검색되지만 위의 코드를 실행하여 '모니터'를 검색해보면 len가 1밖에 나오지 않습니다.product_item__MDtDF를 제외하고는 강의 내용과 동일한거 같은데 어디에 문제가 있는 걸까요..?
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
selenium으로 연 크롬창 안꺼짐
셀레니움 버전도 3.14?였나 최신걸로 업데이트 하고 써서웹드라이버 설치하는 것도 안해도 되는 상태인데요.강의에서는 driver.get(url) 하면 창이 켜졌다 자동으로 꺼지던데제꺼는 창이 자동으로 안꺼집니다... 뭔가 업데이트로 변경된 부분인가요? 창 안꺼지도록 하는 방법 강의 들으려는데제꺼는 원래 안꺼져서 당황스럽네요
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
string vs text
text가 하위 태그에 있는 문자열까지 가져온다는 것은 알겠습니다. 근데 string도 명확한 설명 부탁드립니다..강의에서 <a class="logo_naver"> <span class="blind">네 이버</span></a>이걸로 예를 들었는데.. 공백도 문자열이잖아요. 강의에서도 그렇게 말씀하셨고.그러면 위 html코드에 string을 불러오면 a태그 뒤의 공백 한칸을 가져와서 " " 이런 공백 한칸으로 이루어진 문자열이 나와야 할 것 같은데 None으로 나오죠..문자열인데 왜 None으로 나오는지 잘 모르겠습니다.엔터가 들어가도 None으로 나오는 것 같은데... text는 알겠는데 string은 설명이 좀 부족한것 같아서 보충 설명 부탁드립니다.
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
html 출력문제
강의 내용 외 개인적인 실습 사이트의 질문은 답변이 제공되지 않습니다.문제가 생긴 코드, 에러 메세지 등을 꼭 같이 올려주셔야 빠른 답변이 가능합니다.코드를 이미지로 올려주시면 실행이 불가능하기 때문에 답변이 어렵습니다.답변은 바로 제공되지 않을 수 있습니다.실력 향상을 위해서는 직접 고민하고 검색해가며 해결하는 게 가장 좋습니다. import requestsfrom bs4 import BeautifulSoup url = "https://naver.com" req = requests.get(url) html = req.text print(html)주피터 노트에서는 실행이 되는데 비쥬얼스튜디오에서는 결과가 이렇게 나왔습니다. PS C:\Users\pw720> & C:/Users/pw720/AppData/Local/Programs/Python/Python311/python.exeon.exe AMD64)] on win32Python 3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> print(html)Traceback (most recent call last):File "<stdin>", line 1, in <module>NameError: name 'html' is not defined>>> print(html)Traceback (most recent call last):File "<stdin>", line 1, in <module>NameError: name 'html' is not defined>>> beautifulsoup4설치가 안되는것같아 cmd에서 설치했는데 제대로 안깔려서 안되는건가요?
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
모바일에서 접속한 것처럼 안되는 문제
user-agent를 변경하고 실행해도 pc에서 접속한 것처럼 보입니다.제 코드는 아래와 같으며 파이참에서 작성했습니다.from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager from bs4 import BeautifulSoup from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By import time # 모바일에서 접속한 것처럼 보이게 하기 user_agent="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1" options = Options() options.add_experimental_option("detach",True) # 화면이 안꺼지는 옵션 options.add_argument("--start-maximized") options.add_argument(f"user_agent={user_agent}") service = Service(ChromeDriverManager().install()) #크롬 드라이버를 자동설치하는 서비스를 만듬 driver = webdriver.Chrome(service=service,options=options) url = "https://m2.melon.com/index.htm" driver.get(url) if driver.current_url != url: driver.get(url) time.sleep(2)