묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
네이버뷰탭검색결과크롤링2 파트에서 질문입니다.
우선 강의대로 블랙핑크, 손흥민 검색했을때 강의처럼 결과가 잘 나옵니다.제가 다른 키워드인 '제휴마케팅'으로 검색하니 첨부한 사진과 같은 결과가 나왔습니다. 혹시나 중간에 네이버 파워컨텐츠 광고가 있어서 그런건가해서 개발자도구로 코드를 비교해봤는데 그건 아닌거같고, 원인을 아직 모르겠어서 질문남깁니다.(수업처럼 크롤링 결과는 잘 나오고 맨 마지막에 아래와 같은 문구가 나왔습니다). 그리고 print(len(areas))부분도 '제휴마케팅'으로 검색했을땐 나오지 않았구요.
-
미해결Node.js로 웹 크롤링하기
페이스북 로그인
<button value="1" class="_42ft 4jy0 6lth 4jy6 4jy1 selected 51sy" name="login" data-testid="royallogin_button" type="submit" id="u_0_c_Cc">로그인</button> document.querySelector('#u_0_9_LS').click();위에 같이 실행하였는데 id값이 계속 변동하여 로그인 안되어서 document.querySelector('._42ft _4jy0 _6lth _4jy6 _4jy1 selected _51sy').click();class로 했는데도 로그인 안되네요 ??방법이 없나요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
실전 크롤링 기술팁2 >추출한 데이터 내 추출하기 질문 드립니다
선생님 안녕하세요, 강의 매번 잘 듣고 있습니다. 크롤링 복습 중 질문이 있어 아래와 같이 문의 드립니다 :)강의명: 실전크롤링과 강력한 크롤링 기술 팁2 강의 내 시간: 4:35질문: 하단의 초록색 부분만 추출할 때 저는 아래 첫번째샷으로 짜서 >>print(mydata.get_text() 결과값이 선생님이 하신 것과 동일한 결과가 나왔는데요, 선생님께서는 두번째 샷으로 설명해주셨는데, 다시 titles=mydata.find_all('li','course')를 받아서 출력을 해야 하는 건지 궁금합니다. 이미 id='dev_course_list로 상위 id에서 확정을 하고 들어가서 'li','course' 부분을 작성하지 않아도 된다고 생각했습니다.import requests from bs4 import BeautifulSoup res=requests.get('https://davelee-fun.github.io/blog/crawl_test') soup=BeautifulSoup(res.content,'html.parser') mydata=soup.find('ul',id='dev_course_list') print(mydata.get_text())import requests from bs4 import BeautifulSoup res=requests.get('https://davelee-fun.github.io/blog/crawl_test') soup=BeautifulSoup(res.content,'html.parser') mydata=soup.find('ul',id='dev_course_list') titles=mydata.find_all('li','course') for title in titles: print(title.get_text())
-
해결됨일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
에러 질문 드립니다 .
안녕하세요 쓰앵님수정 업로드 해주신 코드로 실습하고 있는데 또 오류가 나왔습니다 ㅠ앞부분은 다 됐는데header = {'User-Agent': ''} driver.implicitly_wait(3) driver.get(ns_address) req = requests.get(ns_address,verify=False) html = req.text soup = BeautifulSoup(html, "html.parser") sleep(2) element=driver.find_element_by_xpath(shoppingmall_review) driver.execute_script("arguments[0].click();", element) sleep(2)====run=====NameError Traceback (most recent call last) <ipython-input-9-8a5c5adbf17a> in <module> 1 header = {'User-Agent': ''} 2 driver.implicitly_wait(3) ----> 3 driver.get(ns_address) 4 req = requests.get(ns_address,verify=False) 5 html = req.text NameError: name 'ns_address' is not defined이름이 정의되지 않았다고 뜹니다.제가 어디서 잘못한 것일까요 ?chatgpt에도 넣어봤는데The error message indicates that the variable 'ns_address' has not been defined in the code. You need to define the 'ns_address' variable before using it in the 'driver.get()' method.이렇게만 나옵니다 알려주세요~
-
미해결Node.js로 웹 크롤링하기
2019년도 영상이라 error가 나는 걸까요? 2-4. csv에 출력하기에서 error
v16.19.18.19.3mac 2-4. csv에 출력하기 Error: Protocol error (Target.createTarget): Target closed.at /Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:74:56at new Promise (<anonymous>)at Connection.send (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:73:12)at Browser._createPageInContext (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:174:47)at BrowserContext.newPage (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:367:26)at Browser.newPage (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:166:33)at Browser.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:112:23)at /Users/youssi/crawler/lecture/index.js:15:34at Array.map (<anonymous>)at crawler (/Users/youssi/crawler/lecture/index.js:13:31)-- ASYNC --at Browser.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:111:15)at /Users/youssi/crawler/lecture/index.js:15:34at Array.map (<anonymous>)at crawler (/Users/youssi/crawler/lecture/index.js:13:31)at processTicksAndRejections (node:internal/process/task_queues:96:5)Error: Protocol error (Target.createTarget): Target closed.at /Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:74:56at new Promise (<anonymous>)at Connection.send (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:73:12)at Browser._createPageInContext (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:174:47)at BrowserContext.newPage (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:367:26)at Browser.newPage (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:166:33)at Browser.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:112:23)at /Users/youssi/crawler/lecture/index.js:15:34at Array.map (<anonymous>)at crawler (/Users/youssi/crawler/lecture/index.js:13:31)-- ASYNC --at Browser.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:111:15)at /Users/youssi/crawler/lecture/index.js:15:34at Array.map (<anonymous>)at crawler (/Users/youssi/crawler/lecture/index.js:13:31)at processTicksAndRejections (node:internal/process/task_queues:96:5)Error: Protocol error (Target.createTarget): Target closed.at /Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:74:56at new Promise (<anonymous>)at Connection.send (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:73:12)at Browser._createPageInContext (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:174:47)at BrowserContext.newPage (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:367:26)at Browser.newPage (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:166:33)at Browser.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:112:23)at /Users/youssi/crawler/lecture/index.js:15:34at Array.map (<anonymous>)at crawler (/Users/youssi/crawler/lecture/index.js:13:31)-- ASYNC --at Browser.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:111:15)at /Users/youssi/crawler/lecture/index.js:15:34at Array.map (<anonymous>)at crawler (/Users/youssi/crawler/lecture/index.js:13:31)at processTicksAndRejections (node:internal/process/task_queues:96:5)Error: Protocol error (Target.createTarget): Target closed.at /Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:74:56at new Promise (<anonymous>)at Connection.send (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:73:12)at Browser._createPageInContext (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:174:47)at BrowserContext.newPage (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:367:26)at Browser.newPage (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:166:33)at Browser.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:112:23)at /Users/youssi/crawler/lecture/index.js:15:34at Array.map (<anonymous>)at crawler (/Users/youssi/crawler/lecture/index.js:13:31)-- ASYNC --at Browser.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:111:15)at /Users/youssi/crawler/lecture/index.js:15:34at Array.map (<anonymous>)at crawler (/Users/youssi/crawler/lecture/index.js:13:31)at processTicksAndRejections (node:internal/process/task_queues:96:5)Error: Protocol error (Target.createTarget): Target closed.at /Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:74:56at new Promise (<anonymous>)at Connection.send (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:73:12)at Browser._createPageInContext (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:174:47)at BrowserContext.newPage (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:367:26)at Browser.newPage (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:166:33)at Browser.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:112:23)at /Users/youssi/crawler/lecture/index.js:15:34at Array.map (<anonymous>)at crawler (/Users/youssi/crawler/lecture/index.js:13:31)-- ASYNC --at Browser.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:111:15)at /Users/youssi/crawler/lecture/index.js:15:34at Array.map (<anonymous>)at crawler (/Users/youssi/crawler/lecture/index.js:13:31)at processTicksAndRejections (node:internal/process/task_queues:96:5)Error: Protocol error (Target.createTarget): Target closed.at /Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:74:56at new Promise (<anonymous>)at Connection.send (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:73:12)at Browser._createPageInContext (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:174:47)at BrowserContext.newPage (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:367:26)at Browser.newPage (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:166:33)at Browser.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:112:23)at /Users/youssi/crawler/lecture/index.js:15:34at Array.map (<anonymous>)at crawler (/Users/youssi/crawler/lecture/index.js:13:31)-- ASYNC --at Browser.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:111:15)at /Users/youssi/crawler/lecture/index.js:15:34at Array.map (<anonymous>)at crawler (/Users/youssi/crawler/lecture/index.js:13:31)at processTicksAndRejections (node:internal/process/task_queues:96:5)Error: Protocol error (Target.createTarget): Target closed.at /Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:74:56at new Promise (<anonymous>)at Connection.send (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:73:12)at Browser._createPageInContext (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:174:47)at BrowserContext.newPage (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:367:26)at Browser.newPage (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:166:33)at Browser.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:112:23)at /Users/youssi/crawler/lecture/index.js:15:34at Array.map (<anonymous>)at crawler (/Users/youssi/crawler/lecture/index.js:13:31)-- ASYNC --at Browser.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:111:15)at /Users/youssi/crawler/lecture/index.js:15:34at Array.map (<anonymous>)at crawler (/Users/youssi/crawler/lecture/index.js:13:31)at processTicksAndRejections (node:internal/process/task_queues:96:5)Error: Protocol error (Target.attachToTarget): Target closed.at /Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:74:56at new Promise (<anonymous>)at Connection.send (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:73:12)at Connection.createSession (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:153:36)at Target._sessionFactory (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:116:75)at Target.page (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Target.js:73:32)at Target.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:112:23)at Browser._createPageInContext (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:177:31)at processTicksAndRejections (node:internal/process/task_queues:96:5)at async /Users/youssi/crawler/lecture/index.js:15:20-- ASYNC --at Target.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:111:15)at Browser._createPageInContext (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:177:31)at processTicksAndRejections (node:internal/process/task_queues:96:5)at async /Users/youssi/crawler/lecture/index.js:15:20at async Promise.all (index 0)at async crawler (/Users/youssi/crawler/lecture/index.js:13:5)-- ASYNC --at Browser.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:111:15)at /Users/youssi/crawler/lecture/index.js:15:34at Array.map (<anonymous>)at crawler (/Users/youssi/crawler/lecture/index.js:13:31)at processTicksAndRejections (node:internal/process/task_queues:96:5)Error: Protocol error (Target.attachToTarget): Target closed.at /Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:74:56at new Promise (<anonymous>)at Connection.send (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:73:12)at Connection.createSession (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:153:36)at Target._sessionFactory (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:116:75)at Target.page (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Target.js:73:32)at Target.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:112:23)at Browser._createPageInContext (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:177:31)at processTicksAndRejections (node:internal/process/task_queues:96:5)at async /Users/youssi/crawler/lecture/index.js:15:20-- ASYNC --at Target.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:111:15)at Browser._createPageInContext (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:177:31)at processTicksAndRejections (node:internal/process/task_queues:96:5)at async /Users/youssi/crawler/lecture/index.js:15:20at async Promise.all (index 1)at async crawler (/Users/youssi/crawler/lecture/index.js:13:5)-- ASYNC --at Browser.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:111:15)at /Users/youssi/crawler/lecture/index.js:15:34at Array.map (<anonymous>)at crawler (/Users/youssi/crawler/lecture/index.js:13:31)at processTicksAndRejections (node:internal/process/task_queues:96:5)Error: Protocol error (Target.attachToTarget): Target closed.at /Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:74:56at new Promise (<anonymous>)at Connection.send (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:73:12)at Connection.createSession (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Connection.js:153:36)at Target._sessionFactory (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:116:75)at Target.page (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Target.js:73:32)at Target.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:112:23)at Browser._createPageInContext (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:177:31)at processTicksAndRejections (node:internal/process/task_queues:96:5)at async /Users/youssi/crawler/lecture/index.js:15:20-- ASYNC --at Target.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:111:15)at Browser._createPageInContext (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/Browser.js:177:31)at processTicksAndRejections (node:internal/process/task_queues:96:5)at async /Users/youssi/crawler/lecture/index.js:15:20at async Promise.all (index 2)at async crawler (/Users/youssi/crawler/lecture/index.js:13:5)-- ASYNC --at Browser.<anonymous> (/Users/youssi/crawler/lecture/node_modules/puppeteer/lib/helper.js:111:15)at /Users/youssi/crawler/lecture/index.js:15:34at Array.map (<anonymous>)at crawler (/Users/youssi/crawler/lecture/index.js:13:31)at processTicksAndRejections (node:internal/process/task_queues:96:5) index.jsconst parse = require('csv-parse/lib/sync'); const stringify = require('csv-stringify/lib/sync'); const fs = require('fs'); const puppeteer = require('puppeteer'); const csv = fs.readFileSync('csv/data.csv'); const records = parse(csv.toString('utf-8')); const crawler = async () => { try{ const result = []; const browser = await puppeteer.launch({ headless: false }); await Promise.all(records.map(async (r, i) => { try{ const page = await browser.newPage(); await page.goto(r[1]); const scoreEl = await page.$('.score.score_left .star_score'); if (scoreEl) { const text = await page.evaluate((tag) => { return tag.textContent; }, scoreEl); console.log(r[0], '평점', text.trim()); result.push([r[0], r[1], text.trim()]); } await Page.waitFor(3000); await page.close(); } catch (e) { console.error(e); } })); await browser.close(); const str = stringify(result); fs.writeFileSync('csv/result.csv', str); } catch (e) { console.error(e); } }; crawler(); package.json{ "name": "lecture", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "node index" }, "author": "youssi", "license": "MIT", "dependencies": { "axios": "^1.3.4", "cheerio": "^1.0.0-rc.12", "csv-parse": "^4.4.6", "csv-stringify": "^5.3.0", "puppeteer": "^1.13.0", "xlsx": "^0.18.5" } }
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
다른 사이트를 크롤링해보려는데 인코딩쪽에 문제가 있는 것 같습니다.
안녕하세요 선생님. 선생님 강의를 듣고 제가 원하는 사이트를 크롤링 해보려는데 인코딩문제가 생기는 것 같습니다. 사이트 주소는 이렇습니다. http://veganfesta.kr/modules/company/company_list.html?mc_code=1013import requests url = "http://veganfesta.kr/modules/company/company_view.html?seq=241&mc_code=1013" headers = { 'user-agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36'} response = requests.get(url,headers=headers) response.encoding='utf-8' print(response.text)이렇게 코드를 짜봤는데요 결과는이런식으로 나옵니다. 인코딩 문제인가 하였는데response.encoding을 통해 uff-8인것을 확인했습니다.response.status는 200으로 정상이구요 ㅜ뭐가 잘못된 걸까요? 2시간가량 전전긍긍해보았지만 답을 찾지못해 선생님께 질문드립니다..제가 url을 구글이나 네이버로 바꿔 시도를 해보았을때는 잘되었는데 저 사이트로 url을 설정했을때 이렇게 나오네요.. 읽어주셔서 감사하며 답변 부탁드리겠습니다.
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
크롤링 질문드립니다.
html 태그로 크롤링을 하는 중입니다.<img height="6" width="7" alt="상승" src="https://ssl.pstatic.net/static/nfinance/ico_up.gif">위 태그에서 alt="상승" 이라는 부분을크롤링하고 싶은데 혹시 어떻게 하면 좋을까요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
엑셀에 데이터 크롤링 하면서 중간에 새로운 열 추가
선생님 안녕하세요좋은 강의 감사드립니다. 이전에 여쭤보았던 질문 중에 해결안된 것이 있어서 추가 질문드립니다. 아래의 예시와 같이 "중간에" 계속 열을 추가해야 하는 상황인데, 강의에서 나온 방식대로만 하면 "고정된" 열에만 추가할 수 있어서, 기존에 추가했던 데이터가 "밀리지 않는" 현상이 발생하더라고요. 혹시 해결할 수 있는 방법이 있을까요? 기존 데이터 그 이후에, 정보를 추가할 일이 있어서, 아래와 같이 B열에 새로운 열을 추가했다고 가정하면요또 그 이후에, 중간에 새로운 열 하나를 더 추가할 수도 있고요그러면, 원래 B열에 PER를 크롤링 하기로 되어있는데, D열로 크롤링 하도록 코드를 바꿔야 하는데, 코드를 안바꾸고 열이 밀린것처럼 코드도 자동으로 D열로 밀려서 크롤링 하도록 처음부터 설정할 수 있는 방법이 있을까요?
-
미해결R로 하는 웹 크롤링 - 입문편
htmltab 설치에 관한 질문..
> install.packages("htmltab") WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding: https://cran.rstudio.com/bin/windows/Rtools/ ‘C:/Users/bj449/AppData/Local/R/win-library/4.2’의 위치에 패키지(들)을 설치합니다. (왜냐하면 ‘lib’가 지정되지 않았기 때문입니다) Warning in install.packages : package ‘htmltab’ is not available for this version of R A version of this package for your version of R might be available elsewhere, see the ideas at https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Installing-packages >htmltab 설치하면 이런 문구가 뜨네요. 수동으로 설치를 시도해도 장 안되요.R tudio 버전은 4.2.2 입니다.
-
해결됨일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
driver = webdriver.Chrome('chromedriver', options=chrome_options)
안녕하세요. 5강수업 실습 중 오류가 나와 문의 드립니다.# 셀레니움 module import from selenium import webdriver import time from time import sleep from bs4 import BeautifulSoup from selenium.webdriver.common.keys import Keys import requests import re import os # Dataframe import pandas as pd df = pd.DataFrame(columns=['idx','star','review']) chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--headless') chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('disable-dev-shm-usage') chrome_options.add_argument("user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36") driver = webdriver.Chrome('chromedriver', options=chrome_options) 마지막줄이 계속 오류라고 나옵니다.driver = webdriver.Chrome('chromedriver', options=chrome_options) 이부분이요이 앞부분은 잘 됐는데 왜 이러는걸까요google colab에 그대로 복붙했는데 ㅠㅠ알려주세요 쓰앵님
-
해결됨[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
프롬창 파이썬 셀레니움으로 실행 시 자동으로 꺼집니다
다 똑같이 따라했는데 왜 이러는지 모르겠네요...
-
미해결파이썬 텍스트 분석 입문 - 데이터 수집부터 분석까지
Re. Konlpy 설치오류(Okt 오류)
답변에 나온 방법을 토대로 파이썬, java, JPype, jupyter를 모두 제거한 후 재설치를 진행했습니다.python 설치 : 3.8.9 버전으로, python.org에 접속하여 인스톨러로 설치했습니다.cmd 상에서 python --version 입력하였을 시, python 3.8.9가 나오는 것을 확인했습니다.java 19.0.2를 검색하여, oracle 사이트에서 설치파일 다운로드 받아 설치하였습니다. 윈도우 64bit 버전으로 설치했습니다..시스템 환경변수 설정을 했습니다.Jpype를 말씀해주신 버전과 같은 버전으로 설치했습니다.cmd 상에서, pip install konlpy로 설치하였습니다.konlpy 설치 후 알려주신 방법을 따랐지만 기존과 같이 okt = Okt()상에서 에러가 발생합니다. 추가적으로 kkma, hannanum을 실행해보았지만 같은 에러가 발생합니다.
-
미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
셀레니움 변경점
https://selenium-python.readthedocs.io/locating-elements.htmlfind_element/s 함수에 변경점이 생겨 현재 교재로는 코드가 작동하지 않습니다.위 페이지 참고하시면 되겠습니다.
-
미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
request.get() 하면 SSLCertVerificationError 에러가 납니다.
구글로 찾아보니 신뢰할수 없는 인증서 사용이라서 verify=False 를 하면 된다고 하는데요, res = requests.get("https://search.naver.com/search.naver?where=view&sm=tab_jum&query=%EB%A7%9B%EC%A7%91", verify=False) 하면 아래와 같이 경고가 나옵니다. 해결 할 방법이 있나요? InsecureRequestWarning: Unverified HTTPS request is being made to host 'search.naver.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html#ssl-warnings warnings.warn(
-
해결됨[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
첫째 페이지 크롤링 오류
import requests from bs4 import BeautifulSoup main_url = "https://www.coupang.com/np/search?component=&q=%EA%B2%8C%EC%9D%B4%EB%B0%8D+%EB%A7%88%EC%9A%B0%EC%8A%A4&channel=user" header = { 'Host': 'www.coupang.com', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Accept-Language': 'ko-KR,ko;q=0.8,en-US;q=0.5,en;q=0.3',} response = requests.get(main_url, headers = header) html = response.text soup = BeautifulSoup(html, 'html.parser') links = soup.select("a.search-product-link") for link in links: sub_url = "https://www.coupang.com/" + link.attrs['href'] response = requests.get(sub_url,headers = header) html = response.text sub_soup = BeautifulSoup(html,'html.parser') #브랜드명 #중고상품 예외처리 try: #아래 태그를 찾고 brand = soup.select_one("a.prod-brand-name") except:# 없으면 아래처럼 비우기 brand = "" #상품명 name = soup.select_one("h2.prod-buy-header__title") #가격 price = soup.select_one("span.total-price > strong") print(brand,name,price) 이렇게 작성 하고 실행 시키니 아무일도 일어나지 않았습니다. 그래서 ctrl + F5 로 실행 시키니 크롤링 된 데이터가 모두 none 으로 크롤링 되네요 ..
-
미해결파이썬 텍스트 분석 입문 - 데이터 수집부터 분석까지
Konlpy 설치 오류
konlpy설치과정에서 오류가 발생했습니다.Conda 설치가 회사 네트워크 문제로 되지 않아 프롬프트로 파이썬을 설치했고 Python은 3.8.9버전입니다. (3.9와 최신버전인 3.11로 설치했었는데 에러가 해결되지 않아 3.8로 다운그레이드 했습니다.)Java는 19.0.2(64-bit)로 설치했고 JPype는 1.1.2-cp38-win_amd64로 설치했습니다.JAVA_HOME 환경변수 설정도 확인을 완료했는데 자바 패키지상의 오류가 나타나네요ㅜㅜ
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
if/elif 관련 질문 드립니다
선생님 안녕하세요, 파이썬을 처음 배우고 있는데 강의 들으며 많은 도움 감사히 잘 받고 있습니다. 다른 게 아니라 해당 강의(아래 표기)에서 '세 가지 숫자를 입력받아 가장 작은 수를 구하는 문제'에서 제가 작성한 코드로 data3을 가장 작은 수로 입력 했을 때 입력한 숫자 3개만 출력되고 가장 작은 값인 data3값이 출력이 안되었습니다 (data1,data2가 가장 작은 수 일 때는 각각 정상출력됨 )저는 if안에 if문을 넣어서 작성했는데 선생님이 작성하신 하나의 if절 내 and로 연결한 것이 달라서 출력이 안되는 것인지 문의 드립니다. (if절 안에 if절을 넣는 것과 하나의 if절 안에 and로 연결하는 것이 다른 의미를 가지는 것인지 궁금합니다)해당 강의명: 문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본: 문자열,리스트,조건문 활용1 (시간: 9분 30초~) 에서 '세가지 숫자를 입력받아 가장 작은 수를 구하는 문제작성하신 코드 # data1=int(input()) # data2=int(input()) # data3=int(input()) # if data1<=data2 and data1<=data3: # print(data1) # elif data2<=data1 and data2<=data3: # print(data2) # elif data3<=data1 and data3<=data2: # print(data3)제가 작성한 코드data1=int(input('숫자1)) data2=int(input('숫자2)) data3=int(input('숫자3)) if data1<=data2: if data1<=data3: print(data1) elif data2<=data1: if data2<=data3: print(data2) elif data3<=data1: if data3<=data2: print(data3) (결과값) 숫자1 34 숫자2 45 숫자3 2 >> 32가 나와야 하는데 숫자1,2,3만 출력됨미리 감사합니다! :)
-
해결됨[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
스크롤이 되지 않는 오류.
안녕하세요. 스타트코딩 선생님.강의 재미있게 듣고 실습하고 있습니다.deprecated 경고문 제외하고는 큰 문제 없이 실행되어 50개의 결과는 가져옵니다.그런데 좀 특이한 몇 가지 문제가 있습니다. ① 크롬이 불필요하게 2개 창으로 실행됩니다. 창 하나는 주소표시줄에 data; 라고 쓰여있는, 아무 동작도 하지 않는 텅 빈 화면을 보여주고, 그 다음에 열리는 크롬창은 네이버 이미지 검색 결과 화면이 우선은 잘 출력됩니다.② 두 번째로 열리는 크롬창에서 검색 결과 화면까지는 나오고 주소까지 크롤링 되는데, 스크롤이 되지 않습니다. 그냥 화면에 보이는 이미지의 주소 결과 딱 50개만 크롤링 되는 것 같아요. 어지간해서는 대부분 구글링으로 해결했는데, 이 부분은 찾기가 어려워 직접 여쭤봅니다.조언 부탁드립니다. from typing import KeysView from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options 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()) driver = webdriver.Chrome(service=service, options=chrome_options) # 웹페이지 해당 주소 이동 url = "https://search.naver.com/search.naver?where=image&sm=tab_jum&query=BTS" browser = webdriver.Chrome("c:/chromedriver.exe") browser.implicitly_wait(5) browser.maximize_window() browser.get(url) # 무한 스크롤 처리 # 스크롤 전 높이 before_h = browser.execute_script("return window.scrollY") # 무한 스크롤 while True: # 맨 아래로 스크롤을 내린다. browser.find_element(By.CSS_SELECTOR, 'body').send_keys(Keys.END) # 스크롤 사이 페이지 로딩 시간 time.sleep(2) # 스크롤 후 높이 after_h = browser.execute_script("return window.scrollY") if after_h == before_h: break before_h = after_h # 이미지 태그 추출 imgs = browser.find_elements(By.CSS_SELECTOR,'._image._listImage') for i, img in enumerate(imgs, 1): # 각 이미지 태그의 주소 img_src = img.get_attribute("src") print(i, img_src)
-
해결됨[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
selenium을 활용한 크롤링 질문
안녕하세요 강사님 selenium은 동적 크롤링을 할때 사용한다고 알고있습니다. 간혹 로그인을 해야만 정보를 열람할 수 있는 사이트가 있는데 이런 경우에는 어떤식으로 접근을 할 수 있을지 알고싶습니다!
-
미해결파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)
웹툰 사이트 body 안에가 안불러져옵니다.
<body> 태그 하위<div id="root"> 태그 하위에 실제 사이트 html이비어져서 옵니다.