inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

좋은사람님 답변 부탁드립니다.

미해결

파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기

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
  • 웹-크롤링
김표만 댓글 2 좋아요 0 조회수 176

PyCharm 버전 변경이 안됩니다

미해결

실전 파이썬 게임 만들기 (Pygame)

기존에 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을 쓰지않으면 많이 헤맬거라고 해서 어떻게 해야할까요?

  • python
CoderH 댓글 1 좋아요 0 조회수 634

chat_messgages 생성이 안됩니다.

미해결

파이어베이스를 활용한 메신져 만들기 - Android

하루 꼬박 강의 몇번반복해도... sendMessage() 메서드 실행시 첫줄의 mChatMemeberRef = mFirebaseDb.getReference("chat_members").child(mChatId); 이게 작동을 안하는것 같습니다. RealTimeBase를 조회해도 chat_members users 밖에없네요... 뭐가 문제일까요?? 아래에 수업해주신 ChatActivity 소스코드 입니다. public class ChatActivity extends AppCompatActivity { private String mChatId; @BindView(R.id.senderBtn) ImageView mSenderButton; @BindView(R.id.edtContent) EditText mMessageText; private FirebaseDatabase mFirebaseDb; private FirebaseUser mFirebaseUser; private DatabaseReference mChatRef; private DatabaseReference mChatMemberRef; private DatabaseReference mChatMessageRef; private DatabaseReference mUserRef; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.content_chat); ButterKnife.bind(this); mChatId = getIntent().getStringExtra("chat_id"); mFirebaseDb = FirebaseDatabase.getInstance(); mFirebaseUser = FirebaseAuth.getInstance().getCurrentUser(); mUserRef = mFirebaseDb.getReference("users"); } @OnClick(R.id.senderBtn) public void onSendEvent(View v) { if (mChatId != null) { sendMessage(); Log.d("sendMessgae","센드메시지 실행"); } else { createChat(); Log.d("createChat","크리트 채팅 실행"); } } private void sendMessage() { //메세지 키 생성 mChatMessageRef = mFirebaseDb.getReference("chat_messages").child(mChatId); // chat_message > {chat_id} > {message_id} > messageInfo String messageId = mChatMessageRef.push().getKey(); Log.d("chat_messages", messageId); String messageText = mMessageText.getText().toString(); if (messageText.isEmpty()) { return; } final TextMessage textMessage = new TextMessage(); textMessage.setMessageText(messageText); textMessage.setMessageDate(new Date()); textMessage.setChatId(mChatId); textMessage.setMessageId(messageId); textMessage.setMessageType(Message.MessageType.TEXT); textMessage.setReadUserList(Arrays.asList(new String[]{mFirebaseUser.getUid()})); String[] uids = getIntent().getStringArrayExtra("uids"); if (uids != null) { textMessage.setUnreadCount(uids.length - 1); } mMessageText.setText(""); mChatMemberRef.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(final DataSnapshot dataSnapshot) { //unreadCount 셋팅하기 위한 대화 상대의 수 가져온다. long memberCount = dataSnapshot.getChildrenCount(); textMessage.setUnreadCount((int) memberCount - 1); mChatMemberRef.child(textMessage.getMessageId()).setValue(textMessage, new DatabaseReference.CompletionListener() { @Override public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) { Iterator<DataSnapshot> memberIterator = dataSnapshot.getChildren().iterator(); while (memberIterator.hasNext()) { User chatMember = memberIterator.next().getValue(User.class); mUserRef.child(chatMember.getUid()) .child("chats") .child(mChatId) .child("lastMessage") .setValue(textMessage); if (!chatMember.getUid().equals(mFirebaseUser.getUid())) { mUserRef.child(chatMember.getUid()) .child("chats") .child(mChatId) .child("totalUnreadCount") .addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { long totalUnreadCount = dataSnapshot.getValue(long.class); dataSnapshot.getRef().setValue(totalUnreadCount+1); } @Override public void onCancelled(DatabaseError databaseError) { } }); } } } }); } @Override public void onCancelled(DatabaseError databaseError) { } }); } private boolean isSentMessage = false; private void createChat() { //<방생성> //0. 방 정보 설정 <-- 기존 방이어야 가능함 //1. 대화 상대가 내가 선택한 사람 추가 //2. 각 상대별 chats에 방추가 //3. 에너지 정보 중 읽은 사람에 내 정보 추가 //4. 첫 메세지 전송 final Chat chat = new Chat(); mChatRef = mFirebaseDb.getReference("users").child(mFirebaseUser.getUid()).child("chats"); mChatId = mChatRef.push().getKey(); mChatMemberRef = mFirebaseDb.getReference("chat_members").child(mChatId); // mChatId = mChatRef.push() --> users >> uid >> chats >> chat_id 가져옴 chat.setChatId(mChatId); chat.setCreateDate(new Date()); //1:1 채팅 String uid = getIntent().getStringExtra("uid"); //1:n 채팅 String[] uids = getIntent().getStringArrayExtra("uids"); if (uid != null) { //1:1 uids = new String[]{uid}; } List<String> uidList = new ArrayList<>(Arrays.asList(uids)); uidList.add(mFirebaseUser.getUid()); // 방타이틀 == 나를제외한 사용자이름 출력 final StringBuffer titleBuffer = new StringBuffer(); for (String userId : uidList) { // 유저의 uid >> userInfo mUserRef.child(userId).addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(final DataSnapshot dataSnapshot) { User member = dataSnapshot.getValue(User.class); mChatMemberRef.child(member.getUid()) .setValue(member, new DatabaseReference.CompletionListener() { @Override public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) { // USERS >> chats >> {chat_id} >> chatinfo dataSnapshot.getRef().child("chats").child(mChatId).setValue(chat); if (!isSentMessage) { Log.d("센드메세지","센드메세지 실행"); sendMessage(); isSentMessage = true; } } }); } @Override public void onCancelled(DatabaseError databaseError) { } }); } } }

  • android
  • firebase
박수은 댓글 0 좋아요 0 조회수 278

Gradle project를 생성했는데 이런 메세지가 나와요!

미해결

IntelliJ를 시작하시는 분들을 위한 IntelliJ 가이드

Please, use JDK instead of JRE for Gradle importer. "open Gradle settings"에 들어가면 Gradle home이라는 창에서 "Gladle location is unknown"이라는 메세지가 뜹니다. 왜 이런거죠? 어떻게 해야하나요?

  • jetbrains
  • intellij
JAEHYUN KIM 댓글 2 좋아요 0 조회수 1229

The webpage cannot be displayed

미해결

화이트해커가 되기 위한 모의해킹 완전 정복

터미널에서 run을 해주고나서 가상머신 윈도우 익플로 주소에 접속하면 The webpage cannot be displayed 라고 나오면서 접속이 안됩니다. 칼리 터미널에는 아무런 로그도 남지 않구요. 저 오류 문구 밑에 Some content or files on this webpage require a program that you don't have installed 라고 나오는데 자바를 인식을 못하는거 같아서 재설치를 해봤는데도 똑같아요. 왜 이런걸까요..?

  • 모의해킹
Hoonie 댓글 2 좋아요 0 조회수 219

윈도우의 경우 만점이 8점인가요?

미해결

프로그래밍, 데이터 과학을 위한 파이썬 입문

윈도우의 경우 만점이 8점인가요?

  • python
  • bigdata
성민석 댓글 1 좋아요 0 조회수 272

readchar api 이용한 방법입니다.

미해결

모두를 위한 딥러닝 - Deep Reinforcement Learning

아래 설치 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

  • 강화학습
  • 딥러닝
임현욱 댓글 0 좋아요 0 조회수 557

xml 파일에 name= "이부분"이 빨간줄이 뜨네요.

미해결

신입 프로그래머를 위한 자바 스프링 (Spring) 프레임워크 강좌

Attribute : name The name of the property, following JavaBean naming conventions. Data Type : string 갖다대면 이렇게 뜨는데 도대체 왜 이렇게 뜨는지 이유를 모르겠네요. 실행도 안되고..

  • spring
카두룩치 댓글 1 좋아요 0 조회수 2978

퍼즐 구현 2 뒤집기 구현 설명해주세요~

미해결

쉽고 자연스럽게 배워보는 Javascript 입문 - 코드스쿼드 마스터즈 코스 레벨1

퍼즐 구현 2와 3 사이에 코딩 장면이 빠져있어서 따라가기 좀 어려웠네요... 뒤집기 구현 설명좀 부탁드려요..

  • javascript
OrLlOF 댓글 0 좋아요 1 조회수 131

왜이러는걸까요 부탁드립니다

미해결

2017 Do it! 안드로이드 앱 프로그래밍 [개정 4판 누가 버전]

tartActivity(intent); 얘가 빨간줄이먹히고 에뮬레이터에 오류가납니다 가장최신버전이라 다른건가요?

  • android
신흥부자김양규 댓글 0 좋아요 0 조회수 175

왜이러는걸까요 부탁드립니다

미해결

2017 Do it! 안드로이드 앱 프로그래밍 [개정 4판 누가 버전]

tartActivity(intent); 얘가 빨간줄이먹히고 에뮬레이터에 오류가납니다 가장최신버전이라 다른건가요?

  • android
신흥부자김양규 댓글 1 좋아요 0 조회수 345

print 함수가 안떠요

미해결

왕초보를 위한 스위프트 프로그래밍 강좌 (iOS app with xcode&swift)

swift 공부중이라 xcode사용중인데 print 함수가 안뜨는데 해결방법아는분 있으신가요 ㅠㅠ

  • swift
  • ios
재송킹 댓글 3 좋아요 0 조회수 478

xcode 함수print가 안돼요

미해결

xcode로 스위프트 공부중인데 print 함수가 안돼요 ㅜㅜ

재송킹 댓글 0 좋아요 0 조회수 90

메타스플로이터블 관련문의

미해결

화이트해커가 되기 위한 모의해킹 완전 정복

1.메타스플로이터블이란 ㅁ취약점을가지고있는os 정도로이해하면되는지요. 예를들어 메타스플로잇 같은공격툴을가지고 공격할수있는 취약점을가진 os요. 메타스플로이터블을 강의대로해서다운로드받을ㅅ가없네요변경된듯합니다. 혹시iso 또는버추얼박스나vmware가 아닌kvm xenserver에쓸수있는 이미지도 다운받을수있을까요

  • 모의해킹
김정철 댓글 1 좋아요 0 조회수 204

언제쯤 강의가 제대로 나올까요?

미해결

Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex

(사진)

  • javascript
  • es6
  • vuejs
  • vuex
도해코리아 댓글 1 좋아요 0 조회수 148

ios개발 공부중

미해결

왕초보를 위한 스위프트 프로그래밍 강좌 (iOS app with xcode&swift)

액셀이나 워드프로세서 공부나 자격증도 필수적으로 필요하나요??

  • swift
  • ios
재송킹 댓글 1 좋아요 0 조회수 342

인기 태그

인프런 TOP Writers

주간 인기글