묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
ImportError: cannot import name 'webdriver' from partially initialized module 'selenium' 에러
A 폴더 안에 있는 B폴더에서 셀레니움 실습하던게 있었는데, 여기서는 자동설치 코드로 실행이 잘 되는데요,A폴더 안에 C폴더에서 이번 강의들으면서 실행하려고 하니 아래 에러가 발생합니다..어떻게 해결해야하나요? (base) C:\Users\jyjcj\PycharmProjects\webcrawling>C:/Anaconda3/python.exe c:/Users/jyjcj/PycharmProjects/webcrawling/kimple_inflearn/selenium_exercise/selenium.pyTraceback (most recent call last): File "c:\Users\jyjcj\PycharmProjects\webcrawling\kimple_inflearn\selenium_exercise\selenium.py", line 14, in <module> from selenium import webdriver File "c:\Users\jyjcj\PycharmProjects\webcrawling\kimple_inflearn\selenium_exercise\selenium.py", line 14, in <module> from selenium import webdriverImportError: cannot import name 'webdriver' from partially initialized module 'selenium' (most likely due to a circular import) (c:\Users\jyjcj\PycharmProjects\webcrawling\kimple_inflearn\selenium_exercise\selenium.py)
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
광고 상품 표기 추가문의
안녕하세요. 문의드립니다.광고 상품 대신에 로켓상품도 표기하고자 합니다. if len(link.select(".ad-badge-text")) > 0: print("광고상품")를 아래와 같이 수정하면 될까요?해봤는데 아무표기가 안되서요. if len(link.select("span.badge rocket")) > 0: print("로켓상품") 그리고 광고상품 로켓상품 둘다 표현하고자 하면아래와 같이 표기하면 될까요? if len(link.select(".ad-badge-text")) > 0: print("광고상품")elif len(link.select("span.badge rocket")) > 0: print("로켓상품")
-
해결됨[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
광고상품 표기외에 상품명도 보려고 하는데요. 에러가나네요.
광고상품 광고상품 표기외에 상품명도 보고자하는데요.아래와 같이 에러가 납니다.상품명도 보려면 어떻게 해야 할까요?https://www.coupang.com//vp/products/7119405125?itemId=17821748239&vendorItemId=84985642101&sourceType=srp_product_ads&clickEventId=f08dcc16-7eb1-4918-979f-8e4d3e2f2314&korePlacement=15&koreSubPlacement=1&clickEventId=f08dcc16-7eb1-4918-979f-8e4d3e2f2314&korePlacement=15&koreSubPlacement=1<div class="name">디엑스 DX320QHD 32인치 QHD 75Hz IPS 고성능 게이밍 컴퓨터 모니터, DX320QHD(일반)</div>Traceback (most recent call last):line 45, in <module>print(ad_name).textAttributeError: 'NoneType' object has no attribute 'text'print(ad_name).text에서 text를 빼고 실행시켜보았는데 다른 상품인데 아래와 같이 모두 상품명이 동일하게 나옵니다. <div class="name">인터픽셀 60.5cm FHD 75Hz IPS 평면 게이밍 모니터 화이트, IP2422(무결점)</div>광고상품https://www.coupang.com//vp/products/6070742312?itemId=11207404701&vendorItemId=78484994606&sourceType=srp_product_ads&clickEventId=2981eff0-533f-432a-ace7-a9dbbc8cf39b&korePlacement=15&koreSubPlacement=12&clickEventId=2981eff0-533f-432a-ace7-a9dbbc8cf39b&korePlacement=15&koreSubPlacement=12<div class="name">인터픽셀 60.5cm FHD 75Hz IPS 평면 게이밍 모니터 화이트, IP2422(무결점)</div>광고상품https://www.coupang.com//vp/products/1955685399?itemId=3323143682&vendorItemId=71310006110&sourceType=srp_product_ads&clickEventId=8ab74e64-bccb-400c-968d-9fe175da93a9&korePlacement=15&koreSubPlacement=15&clickEventId=8ab74e64-bccb-400c-968d-9fe175da93a9&korePlacement=15&koreSubPlacement=15<div class="name">인터픽셀 60.5cm FHD 75Hz IPS 평면 게이밍 모니터 화이트, IP2422(무결점)</div>광고상품 for link in links: print(ad_name).text <-이부분 때문에 에러가 나는것 같습니다. 어떻게 표기를 해야 할까요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
유튜브 크롤링/키워드 별 크롤링 방법에서 에러발생합니다.
div#metadata-line > span위 그림에서 처럼 이것은 인식 합니다만위 그림에서와 같이 div#metadata-line > span::nth-child(1) 은 인식 하지 못하는 것 같습니다.info.find_elements(By.CSS_SELECTOR, "div#metadata-line span")[0]selenium에서는 이렇게 해서 해결했습니다만...views = info.select("div#metadata-line > span")[1].text views = info.select("div#metadata-line span")[1].textBeautifulSoup에서는 위 코드도 오류가 발생합니다.
-
미해결남박사의 파이썬 기초부터 실전 100% 활용
질문드립니다.
사용자 입력 예외처리를 하고 있는데,1)문자 입력 시 오류2)3자리 숫자가 아닐 경우 오류다음과 같이 코드를 짰는데 1)의 경우 except 부분에서 "입력 오류"를 출력하지만 2)의 경우 "입력오류"가 출력되지 않고 그냥 재입력하게 되네요.혹시 이유를 알 수 있나요?또한문자 입력 시 "숫자만 입력 가능합니다"를 출력두자리수 입력 시 "세 자리 수를 입력하세요"를 출력하도록 하려면 코드를 어떻게 수정해야 할까요?감사합니다.!#세 자리 숫자만 입력할 수 있게 하는 함수 def input_check(msg, casting = int): while True: try: num = input(msg) # 사용자 입력 num_str = str(num) #맨 앞의 수가 0일경우 0이 잘려버리기 때문에 str을 따로 저장 if(casting(num) and len(num) == 3): return num_str except: print("입력 오류") continue
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
개발자 모드에서 클래스 항목 갯수 찾는 부분은 어떻게 설정할 수 있나요?
이부분 설정을 어떻게 하는지 궁금합니다. 검색해도 못찾겠습니다~ㅠㅠ
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
lxml.etree.LxmlSyntaxError: not in an element - 쿠팡결과_엑셀저장
워크시트 저장하는 코드에서...lxml.etree.LxmlSyntaxError: not in an element이런 에러가 났습니다. 디렉토리명을 포함한 파일이름을 아래와 같이 했을 때...wb.save('./04_쿠팡_크롤링/coupang_result.xlsx')이것도 에러 납니다. wb.save('startCoding_crawling/04_쿠팡_크롤링/coupang_result.xlsx')이렇게 하니 에러가 나지 않았습니다. 참고 바랍니다. 오류 전체 내용은 다음과 같습니다.Traceback (most recent call last): File "d:\python_Workspace\crawling\startCoding_crawling\04_쿠팡_크롤링\04_엑셀에저장하기.py", line 80, in <module> wb.save('04_쿠팡_크롤링/coupang_result.xlsx') # 왜 2번쓰지? File "d:\python_Workspace\crawling\lib\site-packages\openpyxl\workbook\workbook.py", line 386, in save save_workbook(self, filename) File "d:\python_Workspace\crawling\lib\site-packages\openpyxl\writer\excel.py", line 291, in save_workbook archive = ZipFile(filename, 'w', ZIP_DEFLATED, allowZip64=True) File "C:\Users\exper\Anaconda3\lib\zipfile.py", line 1248, in __init__ self.fp = io.open(file, filemode) FileNotFoundError: [Errno 2] No such file or directory: '04_쿠팡_크롤링/coupang_result.xlsx' Error in atexit._run_exitfuncs: Traceback (most recent call last): File "d:\python_Workspace\crawling\lib\site-packages\openpyxl\worksheet\_writer.py", line 32, in _openpyxl_shutdown os.remove(path) PermissionError: [WinError 32] 다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다: 'C:\\Users\\exper\\AppData\\Local\\Temp\\openpyxl.9zt9hqlf' Exception ignored in: <generator object WorksheetWriter.get_stream at 0x0000019973439F90> Traceback (most recent call last): File "d:\python_Workspace\crawling\lib\site-packages\openpyxl\worksheet\_writer.py", line 300, in get_stream File "src\lxml\serializer.pxi", line 1834, in lxml.etree._FileWriterElement.__exit__ File "src\lxml\serializer.pxi", line 1570, in lxml.etree._IncrementalFileWriter._write_end_element lxml.etree.LxmlSyntaxError: inconsistent exit action in context manager Exception ignored in: <generator object WriteOnlyWorksheet._write_rows at 0x00000199734B05F0> Traceback (most recent call last): File "d:\python_Workspace\crawling\lib\site-packages\openpyxl\worksheet\_write_only.py", line 75, in _write_rows File "src\lxml\serializer.pxi", line 1834, in lxml.etree._FileWriterElement.__exit__ File "src\lxml\serializer.pxi", line 1568, in lxml.etree._IncrementalFileWriter._write_end_element lxml.etree.LxmlSyntaxError: not in an element
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
Exception has occurred: SSLError 이런 에러가 발생합니다.
이 강의에서 에러가 발생했습니다.소스코드는 다음과 같습니다.import requests from bs4 import BeautifulSoup url = "https://www.naver.com/" response = requests.get(url) # 에러 발생한 부분 html = response.text soup = BeautifulSoup(html, 'html.parser') word = soup.select_one("#NM_set_home_btn") print(word.text)위 코드중response = requests.get(url)위 부분에서 에러가 발생했습니다. [ 에러 내용 ]Max retries exceeded with url:강의에서 접속한 url이런 에러가 나오고Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.뒤에 이런 문장이 나옵니다. 에러 해결 방법은 무었인가요? [ 에러 전체 내용 ]에러의 전체 내용은 다음과 같습니다.Exception has occurred: SSLError HTTPSConnectionPool(host='search.naver.com', port=443): Max retries exceeded with url: /search.naver?where=news&sm=tab_jum&query=%EC%82%BC%EC%84%B1%EC%A0%84%EC%9E%90 (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) urllib3.exceptions.SSLError: Can't connect to HTTPS URL because the SSL module is not available. During handling of the above exception, another exception occurred: urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='search.naver.com', port=443): Max retries exceeded with url: /search.naver?where=news&sm=tab_jum&query=%EC%82%BC%EC%84%B1%EC%A0%84%EC%9E%90 (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) During handling of the above exception, another exception occurred: File "D:\crawling\05. 뉴스 제목과 링크 가져오기.py", line 4, in <module> response = requests.get("https://search.naver.com/search.naver?where=news&sm=tab_jum&query=%EC%82%BC%EC%84%B1%EC%A0%84%EC%9E%90") requests.exceptions.SSLError: HTTPSConnectionPool(host='search.naver.com', port=443): Max retries exceeded with url: /search.naver?where=news&sm=tab_jum&query=%EC%82%BC%EC%84%B1%EC%A0%84%EC%9E%90 (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available."))
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
Exercise 70 질문드립니다.
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본:함수 활용, 13분안녕하세요 :)저는 70번 문제 코드를 def function(a, b): return [a] * bfunction("Fun", 3)이렇게 작성해서 동일한 결과값, ['Fun', 'Fun', 'Fun']이 나왔는데 이 방법도 문제가 없는건가요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
제발 도와주세요ㅠ
C:\coding\py>C:/Users/taehw/AppData/Local/Programs/Python/Python311/python.exe c:/coding/py/증권.pyTraceback (most recent call last): File "c:\coding\py\증권.py", line 2, in <module> from bs4 import BeautifulSoupImportError: cannot import name 'BeautifulSoup' from 'bs4' (C:\Users\taehw\AppData\Local\Programs\Python\Python311\Lib\site-packages\bs4\__init__.py) 이렇게 오류 문자가 떠요!코드는 이렇게 썻어요! import requests from bs4 import BeautifulSoup # 종목 코드 리스트 codes = [ '035420', '088980', '005930', '035720' ] for code in codes: url = f"https://finance.naver.com/item/sise.naver?code={code}" response = requests.get(url) html = response.text soup = BeautifulSoup(html, 'html.parser') price = soup.select_one("#_nowVal").text price = price.replace(',', '') print(price)
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
셀레니움 강의 중 문의사항 입니다.
9~10강 셀레니움 강의 따라하다 보니 위와 같은게 뜨는데요. 왜 그러는 건지 알 수 있을까요?해결방법은 어떻게 되나요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
무언가 오류가 있다고 뜨는데 어떻게 고치나요?
import requests from bs4 import BeautifulSoup # 종목 코드 리스트 codes = [ '035420', '088980', '005930', '035720' ] for code in codes: url = f"https://finance.naver.com/item/sise.naver?code={code}" response = requests.get(url) html = response.text soup = BeautifulSoup(html, 'html.parser') price = soup.select_one("#_nowVal").text price = price.replace(',', '') print(price)
-
미해결파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)
안녕하세요. 강의의 미흡한점이 있어 문의드립니다.
안녕하세요. 강의의 미흡한점이 있어 문의드립니다. ● 2-4 강의에서 사이트 링크를 남겨 주신다고 했는데 없네요.● 1-5 에서 마지막 강의에서 undetected_chromedriver 사용법을 알려 주신다고 했는데 마지막강의에서는 이내용 없습니다. ● 3-1 강의에서도 undetected_chromedriver를 사용해서 코드작성을 A To Z 를 한다고 했는데 없 네요.● 1-5 강의 들어보고 결정하려 고했는데 마지막에 사용방법 알려준다고 해서 마지막까지 들었는 데 없어서 난감합니다.● 1-5 에서 undetected_chromedriver 에대한 강의 였는데 이후 강의에서는options.add_argument("--disable-blink-features=AutomationControlled")를 사용하던데 햇갈려서 순서가 맞는지 궁금합니다.그리고 강사님께 직접 여쭤보고 싶은데 어디에 질문해야 할까요? 답변부탁드립니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
크롤링 중에 구글 reCAPTCHA 우회 방법
안녕하세요. 선생님, 파이썬-크롤링 기본/실전 강의 너무 잘 들었습니다. (완강~ ^^")실전편까지 들으니 초보적이지만 웬만한 크롤링은 가능하게 되어서너무 감사한 마음입니다. 다름이 아니라, 크롤링 중에 구글 reCAPTCHA 만나면 우회할 수 있는 방안이 있을까요?reCAPTCHA가 iframe 으로 되어 있고, 그래서 switch_to.frame해서 해당 체크박스를 자동 클릭 까지는 가능한데, 이게 봇 클릭으로 인식해서 그런지 추가 이미지 선택 팝업이 뜹니다.구글링 해 보니, reCAPTCHA v3 같은 경우에는 마우스 움직임 등의 조건을 본다고 하는데요~pyautogui.moveTo() 함수로 마우스를 이리저리 왔다갔다 했다가 클릭하면 가끔씩 추가 이미지 선택 팝업이 안뜰 때도 있습니다. 질문은 reCAPTCHA 우회 방법이 있는지요?? 바쁘실텐데 미리 감사 드립니다.
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
get_text(), string
안녕하세요 수업듣다가 <body>태그를 크롤링 할때에 .get_text()는 데이터를 가져오는 반면에 .string은 None타입이 반환됩니다. .get_text()가 더 범용적인거같은데 이것만 써도 되나요?
-
미해결Github Action을 활용한 크롤러 웹 페이지 만들기
push 작업 중 아래와 같은 에러가 발생합니다.
크롤링 데이터 파일 생성 후 나에게 push하기 강의 실습 중 위의 에러가 발생했습니다.아래는 제 main.yml 파일입니다.name: helloGithubAction on: [push] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: # 개인 토큰을 사용할 것인지 말 것인지 persist-credentials: false - name: 1. pip 업그래이드 run: python -m pip install --upgrade pip - name: 2. 환경 설정 run: pip install -r requirements.txt - name: 3. 파이썬 실행 run: python test_crawl_2.py - name: Commit files run: | git config --local user.email "hajuny129@gmail.com" git config --local user.name "HaJunYoo" git add . git commit -m "Run crawler and update current data" - name: Push changes uses: ad-m/github-push-action@master with: github_token: ${{ secrets.GITHUB_TOKEN }} branch: ${{ github.ref }}
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
크롤링 로켓배송 제외
안녕하세요. 문의드립니다.쿠팡 로켓배송 크롤링강의를 보고 쿠팡 1~10(위에 빨간리본상품) 중 로켓배송상품, 광고상품을 빼고 상품의 이름을 가져오고 싶은데요. 강의 보고 어떻게 적용을 해야할지 해매고 있어 문의드립니다.초보라 모르는게 많네요. 도와주세요~
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
쿠팡 1강 실행, 에러문구
쿠팡 1강따라서 실행했는데 이렇게 에러가 나는데요. 어떻게 해야 할까요?import requests from bs4 import BeautifulSoupbase_url = "https://www.coupang.com/np/search?component=&q="keyword = input('검색할 상품을 입력하세요:')search_url = base_url + keyword print(search_url)headers = {'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36'}cookie = {"a": "b"} req = requests.get(search_url, timeout=5, headers=headers, cookies=cookie)print(req.status_code) 결과: 검색할 상품을 입력하세요:모니터https:https://www.coupang.com/np/search?component=&q=모니터Traceback (most recent call last):File "d:\main3.py", line 17, in <module>req = requests.get(search_url, timeout=5, headers=headers, cookies=cookie)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
강의 자료
자료실에 있는 문제들을 다운받고 실행하려고 하는데, 비주얼 스튜디오에서만 열리고 주피터에서는 열리지 않습니다. 문제 풀기 조금 힘든 상황인데 어떻게 하면 될까요 - 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
모달 스크롤 문의
안녕하세요 셀리니움 스크립트를 작성하고 있는데 페이지 내 임의 모달 호출 후 해당 모달 리스트를 스크롤 동작하는걸 작성하고 싶은데 계속 오류가 나고 있습니다. 어떻게 해야 하는지 문의 드립니다.