55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
이번강좌에서 쓴다(write)는 말이 정확히 무슨뜻인가요? write의 원래 의미와 연결하니 잘 이해가 안됩니다.
이번강좌가 대강은 이해가 되는데 각각 코드의 의미가 정확히 이해가 되지는 않습니다. 이번에 강좌에서 쓴다는 말이 자주나오는데 쓴다는 말이 정확히 무슨뜻인가요? write라고 생각하면 상식적으로 이해가 안되서요. write란건 말그대로 "글자를 쓴다"처럼 어떤 글자를 입력한다는 뜻인데 그 뜻을 파일과 관련해서 쓴다고 하니까 무슨소린지 잘 이해가 안됩니다.(ex: 하드디스크에 쓴다) 그리고 saveFile1 = open(savePath1, 'wb') # w : write , r : read , a : add에서 'wb'부분의 의미가 "쓰는데 바이너리로 쓴다는 것"이라고 하셨는데 바이너리로 쓴다는 말도 잘 이해가 안됩니다. 무슨 뜻인가요? 그리고 저기서 add가 파일의 끝부분부터 데이터를 추가해서 쓰는거라고 하셨는데 이 말도 잘 이해되지 않습니다. read도 마찬가지고요. urlopen()과 open()에서 open은 둘다 괄호안의 있는 것에 연결한다는 뜻인가요? urlopen()과 open()에서 open이 정확히 무슨뜻이죠? f = dw.urlopen(imgUrl).read()를 설명하실때 urlopen을 통해서 연결하고 read를 통해서 읽어온다는 의미가 잘 이해되지 않습니다. 무슨 의미인가요? 이것들이 이해되지 않아 urlretrieve에 대해 설명하실때도 urlretrieve 저장 -> open('r') -> 변수에 할당-> 파싱 ->저장 이게 무슨소린지 이해가 안되었습니다. 정리하자면 다음과 같습니다. 코드 상에서 write, read, add, open(urlopen과 open에서 open), "urlopen을 통해서 연결하고 read를 통해서 읽어온다", wb(쓰는데 바이너리로 쓴다) 의 의미가 정확히 무엇인가요? 저기서 write의 의미가 가장 궁금합니다. "하드디스크에 쓴다"등 이런말이 직관적으로 잘 이해가 안되서요. 애매하게 이해하고 넘어갈 수도 있겠지만 그러면 나중에 내용이 더 어려워질때 힘들어질것같아서 정확한 이해를 위해 미리 질문드립니다. 감사합니다.
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
게시글 본문을 포함하는 크롤러만드는 방법
안녕하세요입력한 url의 html만 긁어오는 크롤링이 아니라특정 게시판(url)에 접속할 경우, 게시판에 등록된 게시글의 제목을 포함하여 해당 게시글의 본문 내용을 모두 긁어오고 싶은데 가능할까요??
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
스크린샷 파일 저장하는 예제에서 c 드라이브로 저장이 안됩니다.
스크린샷 파일을 저장할 때 c 드라이브로 path를 지정하면 아무런 반응이 없다가d 드라이브로 지정해 보니까 파일이 저장되네요.driver.save_screenshot("d:website1.png")보안 문제 때문에 그런 걸까요?
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
2-6-2_new 질문
아래와 같이 복사 해서 실행하였는데결과는 에러가 나옵니다. 도와 주세요..< html >< body >< div id = " foods " >< h1 > 안주 및 주류< ul id = " fd-list " >< li class = " food hot " data-lo = " ko " > 닭 도리탕< li class = " food " data-lo = " jp " > 돈까스< li class = " food hot " data-lo = " ko " > 삼겹살< li class = " food " data-lo = " us " > 스테이크 < ul id = " ac-list " >< li class = " alcohol " data-lo = " ko " > 소주< li class = " alcohol " data-lo = " us " > 맥주< li class = " alcohol " data-lo = " ko " > 막걸리< li class = " alcohol high " data-lo = " cn " > 양주< li class = " alcohol " data-lo = " ko " > 동동주 Traceback (most recent call last):File "/Users/Apple/section2/download2-6-2.py", line 14, in print("1", soup.select("li:nth-of-type(4)")[1].string) #각 li 태그 그룹의 4번째 요소 선택IndexError: list index out of range[Finished in 0.659s]첨부 파일 복사본from bs4 import BeautifulSoupimport sysimport iosys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')fp = open("food-list.html",encoding="utf-8")soup = BeautifulSoup(fp, "html.parser")print(soup)print("1", soup.select("li:nth-of-type(4)")[1].string) #각 li 태그 그룹의 4번째 요소 선택print("2", soup.select_one("#ac-list > li:nth-of-type(4)").string)print("3", soup.select("#ac-list > li[data-lo='cn']")[0].string)print("4", soup.select("#ac-list > li.alcohol.high")[0].string)param = {"data-lo": "cn", "class": "alcohol"}print("5", soup.find("li", param).string)print("6", soup.find(id="ac-list").find("li",param).string)for ac in soup.find_all("li"):if ac['data-lo'] == 'us':print('data-lo == us', ac.string)
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
li style 부분이 크롤링이 되지 않습니다ㅠㅠ
안녕하세요! 제가<ul class="petition_list"><li style="padding: 20px 0px;"><div class="bl_wrap"><span class="sound_only">번호40305이렇게 생긴 부분에서 40305를 추출하고 싶은데select를 이용해서 ul.petition_list까지 간 후에 for문으로 ul.petition_list하위의 모든 부분을뽑으면 None이 나옵니다ㅠㅠ자손을 이용해도 도무지 li style부분을 넘어갈 수 없는데이런 경우는 어떻게 크롤링해야하나요?? 도와주세요ㅠㅠ
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
영상이 안보여요
강의 영상 자체가 안보여요.어떻게 해야되나요?
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
select_one 관련 에러
from bs4 import BeautifulSoupimport sysimport iosys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')fp = open('food-list.html', encoding='utf-8')soup = BeautifulSoup(fp, 'html.parser')li = soup.select_one('li:nth-of-type(8)') print(li.string)로 정확히 코딩 했는데도 none type 에러가 납니다.nth-of-type(5)로 했을 때 '동동주'가 나오는 것으로 봐서 전체 리스트 중 5번째가 아니라 두 번째(id가 ac-list)리스트에서 5번째를 가지고 오는 것 같습니다. 그래서 8번째에는 none이라고 뜨는게 아닐까요?확인 부탁드립니다.감사합니다.
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
디버깅
혼자서 코드를 짜다 보면 논리적인 실수나 오타 등 에러가 나는 경우가 많습니다.간단한 경우에는 에러 메시지를 보고 직접 찾아서 해결하지만 코드가 긴 경우에는 이클립스처럼 줄 단위로 breakpoint를 걸어서 어떤식으로 코드가 진행되는지 보고 싶기도 하빈다.하지만 선생님과 함께 하는 atom 환경에서는 파이썬의 라인 별 디버깅을 지원하지 않는 것 같습니다.혹시 다른 방법이 있나요?
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
아주 기초적인 부분이지만 질문을 드립니다...^^;
download2-7-3.py에서recommand = soup.select("ul.slides")[0] 부분을 print로 그대로 출력하는 것과,for문으로 recommand 를 e로 묶고(for e in recommand:) print(e)를 하는 것에 차이점이 있는지 알고 싶습니다.
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
다음 금융사이트 크롤링 문제가 발생이 되서 안되네요
안녕하세요강의 잘 듣고 있습니다.다음 금융사이트 크롤링을 했는데 뭐가문제인지 에러는 없고 체크표시되서 나오고[Finished in 0.574s]라고 결과가 나오는데결과물은 전혀 안나오네요.뭐가 문제일까요?from bs4 import BeautifulSoupimport urllib.request as reqimport sysimport iosys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')url = "http://finance.daum.net/"res = req.urlopen(url).read()soup = BeautifulSoup(res, "html.parser")top = soup.select("#boxTopSearchs > li > a")for i,e in enumerate(top,1):print(i,e.find("a").string)
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
위시켓 사이트
제가 크롬브라우저를 이용하여 위시켓 사이트에 들어가서 network preserve log를 해도 log 부분의 get 또는 post정보가 나오지 않습니다. 이 경우는 어떻게 해야하죠?
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
질문드립니다
강사님 강의를 너무나 열심히 듣고 있습니다 감사합니다.혹여나 파이썬 scrapy와 관련된 강의는 별도로 진행을 하시나요? 아니면 scapy의 모듈은 강사님께서 알려주신 코드만 정확히 알면 필요가 없나요?혹여나 크롤링을 할때 알아야 한다면 좋은 사이트나 블로그 알 수 있을까요??
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
숙제외 질문드려요
제가 부동산 경매 데이터를 크롤링해서 프로젝트를 하려고 하는데 soup = BeautifulSoup(res,"html.parser")print(soup.prettify)new_property = soup.select("#Table22 > tr ")print(new_property)위의 soup을 parser하는 부분에선 정상적으로 작동을 하며 그 html 코드도 정상적으로 나옵니다. 하지만 밑의 부분의 css 코드인 #Table22 > tr은 홈페이지 내에는 존재하는데 print(soup.prettify)이 부분에서 찾으면 찾을 수가 없습니다. 또한 출력을 하게 되면 빈 list가 뜨구요. 다른 경매사이트는 아예 html 을 공개를 안하거나 숨겨놓던데 이 사이트는 검사기능도 되며 로그인도 필요가 없는데 제가 가지고 오려는 물건과 가격데이터가 막상 코딩을하니 보이지가 않네요. http://www.courtauction.co.kr/maemul/search_total.asp
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
css 선택자 질문드려요
3-4-1.py에서 루리웹 크롤링을 하려고 하는데 css selector가 헷갈립니다. 혹 잘못된 것이 있으면 말씀해주세요 point = soup.select("table#marketread > tr:nth-child(5) > p ") for i in point: print(i.string)강사님께서 하신걸랑 똑같이 밑의 글을 긁어 오려 하는데 table의 id 가 marketread이고 그 밑 tr자식의 5번째 요소 안에 있는 p 를 다 긁어오겠다고 생각하고 했는데 되지 않더라구요 혹 table 태그의 id css 선택자가 아닌 것인지 무엇이 잘못되었는지 모르겠습니다.제가 가져올 글에 대한 선택자를 긁어오면 밑의 선택자가 됩니다. 혹 무엇이 잘못되었는지요?marketread > tbody > tr:nth-child(5) > td > table > tbody > tr > td > p그리고 강사님께서 하신 밑의 선택자는 table 자식들 중 첫번째 요소를 선택한다는 것인데 이 사이트의 table은 무수하게 많은데도 불구하고 어떻게 밑의 코드가 작동이 되는지 의문점입니다.table:nth-child(1)2가지 질문에 답변해주세면 정말 감사드리겠습니다. 강의 정말 도움이 많이 되는것같습니다.
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
과제 질문드립니다2
답변 감사합니다. 답변 주신대로 판다에서 공백인 데이터를 nan 값으로 저장하지만, mysql 에서는 nan을 인식하지못해서 생기는 에러인것을 확일할수있었습니다. 하지만 pd의 where함수를 사용해서 nan 값을 0로 바꿔 실행해봤지만 또다른 KeyError:999 라는 에러가 뜨네요 혹시 과제의 해당하는 코드를 공개해주실수 있으신가요? 뭔가 전체적으로 에러를 일으키는 것 같아서 뭐가 잘못된지 모르겠네요..
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
request 와 requests 의 차이를 질문드려요.
저는 강사님께서 알려주신 api 사이트에 들어가 kakao 개발자 사이트에 들어가 api를 받는 것을 과제로 생각하고 숙제를 하였습니다. 막상 혼자하려다보니 api 이용하는것만 꼬박 2틀이 걸린것같습니다. ㅎㅎ 하지만 하다보니 2가지 궁금한것이 있어 질문드립니다. 저는 requests의 과제라고 생각이 들어 requests로 api를 받아 내용을 출력해보려고 했지만 되지 않았습니다. (처음은 requset 만으로 '카카오 책 api'로 파이썬 결과를 나오게 한결과구요. 성공했습니다.)import osimport sysimport ioimport urllib.requestsys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')KakaoAK = "KakaoAK ee8438babc7fb69050ca4ed047a46431"encText = urllib.parse.quote("파이썬")url = "https://dapi.kakao.com/v3/search/book?query=" + encTextrequest = urllib.request.Request(url)request.add_header("Authorization",KakaoAK)response = urllib.request.urlopen(request)rescode = response.getcode()if(rescode==200):response_body = response.read()print(response_body.decode('utf-8'))else:print("Error Code:" + rescode)하지만 requests로 하는 코드에선 실행이 되지 않았습니다. 무엇이 문제인지 알 수 없어 질문드립니다.(아무리 생각해도 몰라서 질문드립니다.)import osimport sysimport ioimport urllib.request as reqimport requests,jsonimport urllib.parse as repsys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')KakaoAK = "KakaoAK ee8438babc7fb69050ca4ed047a46431"base = "https://dapi.kakao.com/v3/search/book?query="quote = rep.quote_plus("파이썬")url = base+quoteprint('/v3/search/book?query='+quote)print(type(url))s= requests.Session() #requests의 세션을 연다s.add_header("Authorization",KakaoAK) #api의 requsets header정보를 입력한다'''paylaod = {"Authorization",KakaoAK}r = requests.get(url,data=json.dumps(paylaod))r = requests.get(url,data=paylaod)print(r.text)'''jar = requests.cookies.RequestsCookieJar()jar.set("Authorization",KakaoAK, domain='dapi.kakao.com',path='/v3/search/book?query='+quote)r = requests.get('http://httpbin.org/cookies',cookies=jar)print(r.text)정확히 requests로 header 데이터( 즉 위의 request.add_header("Authorization",KakaoAK))와 비슷한 것을 보내는 것을 몰라서 이러한 문제가 계속생기는것같은데 정확히는 모르겠습니다.다양한 시도를 해봤는데도 잘 되지 않습니다.
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
가상환경 test1 에러
test1 가상환경으로 입장 후conda 명령어를 사용하니'conda'는 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치파일이 아닙니다 라는 에러메시지가 뜹니다 리스트도 볼 수 없고 심지어activate 명령어도 듣지 않으니기존 환경으로 돌아갈 방법도 없네요ㅠ 뭐가 잘못된걸까요?
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
conda info --envs실행시
저는 선생님처럼 root라 표기되지 않고base로 표기되는 되요잘못 설치되어 있는 건가요?
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
강의 질문 드려요
download3-2-3.py 에서 for line in r.iter_lines(decode_unicode=True): print(line) b =json.loads(line) #dict 임<p>for e in b.keys():</p><p> print("key:",e,"values:",b[e])</p> 이러한 코드가 있는데 for문안에 r.iter_lines(decode_unicode=True) 이 부분이 직관적으로는 이해가 가는데 class 개념과 def 개념으로 생각을 할때 그 개념이 와닿지가 않아서요. line이라는 인자가 r.iter_line이라는 함수를 만나는데 그안에 매개 변수가 decode_unicode=True인것으로 변환한다 라고 해석을 하면되는지요? 혹 시간이 되신다면 쉬운 예제로 한번만 알려주세용 파이썬 초보라 아직 문법이 어색하네요. ㅠㅠ 혹 이러한 코드 방식이 일급함수인가요? 예제를 만들어 내기 위해 a=[1,2,3,4] for i in a1.reverse(ascii=True): print(i) 이렇게 만들어 봤는데 파이썬 안에 있는 내장함수는 순회를 하지못한다는 오류가 나더라구요 제가 이해하기에는 저러한 형식의 문법으로 강사님께서 알려주신 코드를 이해하였는데 이러한 접근이 맞나요?(i가 값이 거꾸로된 객체인 a1을 만나는데 ascii 코드로 변환을 해서 프린트를 해주어라) 이렇게 해석하는 논리를 위에 적용하였는데 맞는지 알려주시고 혹 간단한 코드 예제를 알 수 있을까요? ㅠㅠ
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
과제 질문드립니다
conn.cursor().execute("""CREATE TABLE IF NOT EXISTS users(id bigint(20) NOT NULL,name varchar(50),username varchar(30),index1 bigint(20),index2 double(20, 3),index3 double(20, 3),index4 double(20, 3),location varchar(50),type varchar(30),per float(10, 3),regdate varchar(30),PRIMARY KEY(id))""")try: with conn.cursor() as c: for i in (exl['id']-1) : user = (int(exl.ix[i]['id']), exl.ix[i]['name'], exl.ix[i]['username'], int(exl.ix[i]['index1']), float(exl.ix[i]['index2']), float(exl.ix[i]['index3']), float(exl.ix[i]['index4']), exl.ix[i]['location'], exl.ix[i]['type'],float(exl.ix[i]['per']), nowtime) c.execute("INSERT INTO users(id, name, username, index1, index2, index3, index4, location, type, per, regdate) VALUES \ (%s, %s, %s, %s, %s, %s, %s, %s, %s ,%s ,%s)" , user) c.commit()finally: conn.close()과제중에 excel파일을 역직렬화해서 Mysql sever의 데이터베이스 테이블에 INSERT 하는데직렬화된 데이터를 그냥 튜플형식으로 넣으면 'numpy.int64' object has no attribute 'translate' 에러가 떠서, 위 코드처럼 형변환을 수동적으로 해서 넣었더니 pymysql.err.InternalError: (1054, "Unknown column 'nan' in 'field list'") 에러가 뜨네요.문제가 뭘까요?