from bs4 import BeautifulSoup import urllib.request as req import urllib.parse as rep import sys import io import os sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8') sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8') base = " https://search.naver.com/search.naver?where=image&query =" quote = rep.quote_plus("사자") url = base + quote res = req.urlopen(url) savePath ="C:imagedown\" try: if not(os.path.isdir(savePath)): os.makedirs(os.path.join(savePath)) except OSError as e: if e.errno != errno.EEXIST: print("폴더 만들기 실패!!!!!") raise soup = BeautifulSoup(res, "html.parser") li_list = soup.select("div.img_area._item > a.thumb._thumb > img") for i, div in enumerate(li_list,1): print("div =", div['data-source']) fullfilename = os.path.join(savePath, savePath+str(i)+'.jpg') print(fullfilename) req.urlretrieve(div['data-source'],fullfilename) print(i) 실행이 안됩니다. 4일째 구글링하면서 방법을 찾고 있지만 더 이상 찾을수가 없어 질문드립니다. res = req.urlopen(url) 이 부분에서 에러가 납니다. urlopen이 안되는 것 같은데. 이미 컴퓨터 포맷도 해보고 다시 재설치까지 해봤습니다. 더이상 방법을 알지 못해 글남깁니다. 아래는 오류 코드입니다. Traceback (most recent call last): File "C:section22-8-1.py", line 16, in res = req.urlopen(url) File "C:UsersM.KingAnaconda3envssection2liburllibrequest.py", line 163, in urlopen return opener.open(url, data, timeout) File "C:UsersM.KingAnaconda3envssection2liburllibrequest.py", line 472, in open response = meth(req, response) File "C:UsersM.KingAnaconda3envssection2liburllibrequest.py", line 582, in http_response 'http', request, response, code, msg, hdrs) File "C:UsersM.KingAnaconda3envssection2liburllibrequest.py", line 510, in error return self._call_chain( args) File "C:UsersM.KingAnaconda3envssection2liburllibrequest.py", line 444, in _call_chain result = func(args) File "C:UsersM.KingAnaconda3envssection2liburllibrequest.py", line 590, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 403: Forbidden [Finished in 0.474s]
기존에 Python 3.6을 쓰고 있어서 버전을 변경하려는데 3.1로 바꾸면 OK버튼이 안눌리게끔 나오고 밑에 environment location directory is not empty라고 뜹니다. 그래서 빈 폴더를 만들어서 OK버튼을 누르면 http_error_msg = u’%s Client Error: %s for url: %s’ % (self.status_code, reason, self.url) 이라는 에러가 뜹니다. 어떻게 해결해야 할까요? 추가로 삭제하고 다시 깔아보기도 했는데 python 3.3 이상의 버전을 써야한다고 에러가 뜹니다. 강의에서 3.1을 쓰지않으면 많이 헤맬거라고 해서 어떻게 해야할까요?
Please, use JDK instead of JRE for Gradle importer. "open Gradle settings"에 들어가면 Gradle home이라는 창에서 "Gladle location is unknown"이라는 메세지가 뜹니다. 왜 이런거죠? 어떻게 해야하나요?
터미널에서 run을 해주고나서 가상머신 윈도우 익플로 주소에 접속하면 The webpage cannot be displayed 라고 나오면서 접속이 안됩니다. 칼리 터미널에는 아무런 로그도 남지 않구요. 저 오류 문구 밑에 Some content or files on this webpage require a program that you don't have installed 라고 나오는데 자바를 인식을 못하는거 같아서 재설치를 해봤는데도 똑같아요. 왜 이런걸까요..?
아래 설치 pip install readchar 아래 코드 실행 import gym from gym.envs.registration import register import readchar LEFT = 0 DOWN = 1 RIGHT = 2 UP = 3 arrow_keys = { 'x1b[A' : UP, 'x1b[B' : DOWN, 'x1b[C' : RIGHT, 'x1b[D' : LEFT } register( id='FrozenLake-v3', entry_point="gym.envs.toy_text:FrozenLakeEnv", kwargs={'map_name':'4x4','is_slippery':False}) env = gym.make("FrozenLake-v3") env.render() #환경을 화면으로 출력 while True: key = readchar.readkey() #키보드 입력을 받는다 if key not in arrow_keys.keys(): print("Game aborted!") break action = arrow_keys[key] #에이젼트의 움직임 state, reward, done, info = env.step(action) #움직임에 따른 결과값들 env.render() #화면을 다시 출력 print("State:", state, "Action", action, "Reward:", reward, "Info:", info) if done: #도착하면 게임을 끝낸다. print("Finished with reward", reward) break