수강이 제한됩니다.
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
강의교안자료 받을수있을까요?
안녕하세요~ pdf 형식으로 된 강의교안자료가 있을까요? 있다면 juliebbhh@gmail.com 으로 부탁드립니다!!
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
[강의 9:27관련 질문] price, title 열 위치
안녕하세요, 항상 좋은 강의 정말 감사하게 듣고있습니다. 해당 강의 내용 중에서, csv 등으로 저장했을때 price와 title의 열 위치에 대해 궁금한 점이 생겨 질문을 드립니다. price 열이 왜 왼쪽으로 먼저 나와있는 것인지 궁금합니다. 위치를 제가 임의로 바꿀 수도 있는 건가요? 아래 첨부한 이미지처럼, 각 상품의 ranking과 url 데이터를 추가로 넣어보고 csv로 저장해봤는데, price열이 여전히 가장 왼쪽에 위치하네요. 이유가 궁금해요!
- 해결됨현존 최강 크롤링 기술: Scrapy와 Selenium 정복
div에 있는 클래스가 2개이면 어떻게 하나요?
<div id="details" class="style-scope ytd-rich-grid-media"> 이렇게 클래스가 두개인데 어떻게 할까요? 유튜브 크롤링을 연습하는데 잘안되요ㅠ
- 해결됨현존 최강 크롤링 기술: Scrapy와 Selenium 정복
css 셀렉터에 대해 질문이 있습니다.
div.~~~ 는 class를 지정한다는것은 알겠는데 어디서부터 css selector 시작해야하나요? 지금은 대충 찍어서 맞추고 있는데 정확히 원리가 있나요? 만약에 원리가 있으면 그 방법대로 xpath도 똑같이 하면 될까요?
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
계쏙 질문해서 죄송합니다...
사전에 scrapy shell 에서 먼저 데이터 출력이 되는지 검사하고 코드를 작성해나가라고 하셔서 말씀 따르고 있습니다. ㅎㅎ 하지만 의문점이 생겼습니다. 분명 response.css로 입력을 했지만, 왜 결과에넌 xpath라는 단어가 출몰하는지 이해가 가지 않습니다. 그리고 css구문 마지막에 '::text'로 마무리했는데 저런 문장이 나오는 것도 대체 왜 그런지 모르겠습니다... 계속 질문해서 정말정말 죄송합니다 ㅠㅜ
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
8분 부분 질문
div.best-list를 한번에 입력하여 넣지 않고 두번째인 best-list[1]를 적용하는 취지는 정말 잘 이해가 갑니다. 하지만 첫번째 best-list가 있는 div는 클래스명이 "best-list type2" 인데 이렇게 클래스명이 완전히 같지 않은 경우에도 response.css("div.best-list")에 걸러지나요?
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
이미지도 크롤링 하고 싶은데 방법이 없을까요?
이미지도 크롤링 하고 싶은데 방법이 없을까요?
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
다른 folder에도 적용이 되는가에 대한 의문
안녕하세요 강사님 가르쳐주신대로 정말 잘 배우고 있습니다. 현재 이 강의까지 배웠던 부분 폴더를 똑같이 하고, 새로 ecommerce3 폴더에 gmarket을 만들어 아무런 후작업도 하지 않고 scrapy startproject ecommerce3 scrapy genspider gmarket www.gmarket.co.kr scrapy crawl gmarket 이 작업만 시행해 봤습니다. 허나 여기서 생긴 의문은 전에 ecommerce3이 아닌 ecommerce 폴더를 사용해 강사님께 배워 적용한 부분이 왜 ecommerce3 폴더에서도 적용되는가에 대한 의문이 생겼습니다. 왜 사진처럼 ecommerce 폴더 작업할때 사용했던 부분들이 로드되어 적용되는 것인지 궁금합니[다!
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
SCRAPY에서 ITEM 항목이 변하는 경우, 어떻게 하면 자동으로 반영 되는지 문의드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요, SCRAPY에서 ITEM 항목이 변하는 경우, 어떻게 하면 자동으로 반영 되는지 문의드립니다. 예를 들어서 아이템을 위와 같이 정의하고 아래와 같이 스파이더를 코딩할 때 item['rank_num'], item['site_name'] ....에서 rank_num 이나 site_name이 변하는 경우, 변할때 마다 일일이 다 변경해줘야 되는지요아니면 화면에서 위와 같은 항목이 변경될때 자동으로 반영되게 하는 방법은 없는지 문의드립니다.감사드리며 12345678910111213141516171819202122232425262728293031323334353637 # -*- coding: utf-8 -*-import scrapyimport sys# items.py에 대한 path 추가sys.path.insert(0, '../project/chat_bot_project/section01_2/section01_2')from items import SiteRankItemsclass Pipeline01Spider(scrapy.Spider): name = 'pipeline_01' allowed_domains = ['alexa.com/topsites'] start_urls = ['https://www.alexa.com/topsites'] def parse(self, response): """ :param :response : return : SiteRankItems """ for p in response.css('div.listings.table > div.tr.site-listing'): # 아이템 객체 생성 item = SiteRankItems() # 순위 item['rank_num'] = p.xpath('./div[1]/text()').get() # 사이트명 item['site_name'] = p.xpath('./div[2]/p/a/text()').get() # 평균 접속 시간 item['daily_time_site'] = p.xpath('./div[3]/p/text()').get() # 평균 본 횟수 item['daily_page_view'] = p.xpath('./div[4]/p/text()').get() yield item~
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
연습하려고 다른데 시도를 해보는데 오류가 나옵니다
'NoneType' object has no attribute 'css' 라고 나오는데 오류 찾아보니까 못찾겠어서 여쭤봅니다 ㅠㅠ.. 어렵네요
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
scrapy 설치는 된 것같은데 startproject부터 오류가 발생합니다ㅠㅠ
강의목록중 scrapy project만들기 5:44에서 설명해주신 부분이 적용되지 않아 도움을 요청드립니다. scrapy는 정상적으로 설치된듯 보이지만 scrapy startproject ecommerce 부분이 invalid syntax로 오류가 발생합니다. 구글에서 스스로 검색해서 해결하려고했지만 해결책을 찾지못해 문의 남깁니다ㅠㅠ
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
input hidden type 검색 데이터 selenium 활용방법
안녕하세요 selenium을 활용하여, 특정 사이트를 검색하고자 하였는데, 데이터 input 창이 예제에서 보여주신 python 페이지의 타입과 같은 search가 아니라, hidden으로 설정되어 있어 같은 방법으로 시도하였을 때 Message: element not interactable (Session info: chrome=90.0.4430.212)에러 메세지가 나옵니다.input 창의 검색은 연도를 검색하도록 되어있으며.각 연도를 입력하였을 때 타이핑 혹은 클릭하도록 되어있습니다.예) 2021년을 검색하려하면, 20까지 쳤을 때 20**년도의 항목 배너가 나와 클릭하거나, 끝까지 2021을 타이핑하여 선택할 수 있음.페이지에서의 코드는 아래와 같으며,<input id="periods" name="ps" type="hidden" class="ct-select2 select2-offscreen" data-placeholder="Select up to 5 periods." tabindex="-1" value="all" style="">실제 페이지소스보기를 통해 들어가면 <input id="periods" name="ps" type="hidden" class="ct-select2" data-placeholder="Select up to 5 periods." /> <i><code>All</code> or a valid period. Up to 5 may be selected.</i> 로 나옵니다. 위와 같은 사이트에는 어떻게 적용할 수 있을지 확인부탁드립니다.
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
twisted.internet.error.ReactorNotRestartable 에러
맥OS에서 실행 중입니다. twisted.internet.error.ReactorNotRestartable 에러가 계속 나는데 도대체 뭐가 문제인지 모르겠습니다. 스파이더는 하나의 파일에 하나의 클래스에 하나의 파스로 되어있습니다. 찾아보면 위에 것은 동시에 여러개를 돌리는 경우인데, 그렇지도 않은데 왜 자꾸 오류가 나는지 문의드립니다 감사드리며
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
settings.py에 대해서 질문 드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 settings.py에 대해서 질문 드립니다. 아래 검은 배경은 settings.py이며, 질문은 초록색이고 흰색은 셋팅한 결과입니다. 네이버 상품(약 10~100만개) 긁어오기로 크롤링 연습중입니다. Q. 이 숫자를 키우면 속도가 빨라지고 낮추면 속도가 느려지는 것 같습니다. 동시 요청 처리 갯수 때문 인 것 같은 데요. 구글링 해본바 너무 요청속도가 빠르면 네이버에서 제 ip를 막을수도 있다는 글을 봤습니다. 혹시 어느 정도 수치가 적당할지 조언 부탁드립니다. CONCURRENT_REQUESTS = 64 #이거는 웹 도메인 동시병렬처리 갯수라고 알고 있습니다. 바로위 셋팅한 기능과 어떤 차이가 있는지 궁금합니다. 또한 크롤링 실행 후 네이버에서 제ip를 막지 않을 정도이면서 빠른 데이터 수집가능하게하려면 어느정도 수치가 적당할지 조언 부탁드립니다. CONCURRENT_REQUESTS_PER_DOMAIN = 16 #이 부분은 동시 IP 병렬 처리 갯수 지정하는 곳으로 알고 있습니다. 아래와 같이 셋팅해서 써봤으나 속도가 100배 이상 느려지는 것 같습니다. 랜덤 ip를 사용하면서 해당 사이트에서 벤 먹지 않기위해서는 랜덤 ip 관련 셋팅을 어떻게 할 수 있을지 조언 부탁드립니다. CONCURRENT_REQUESTS_PER_IP = 16 ROTATING_PROXY_LIST = [ '195.7.9.141:8080', '105.208.44.183:53480', '96.9.77.71:8080', '103.87.207.188:48792', '139.59.102.4:8080', '103.109.59.242:53281', '219.92.3.149:8080', '192.241.172.93:8080', '85.15.152.39:3128', '81.255.13.197:8080', '177.86.201.22:8080', '13.231.68.213:8081', '78.42.42.35:3128', '45.248.94.60:30858', '194.5.237.193:1038', '149.28.213.28:80', '115.75.2.213:38351', '75.119.144.28:80', '103.35.171.233:55443', '193.29.104.79:3128', ] DOWNLOADER_MIDDLEWARES = { 'rotating_proxies.middlewares.RotatingProxyMiddleware': 610, 'rotating_proxies.middlewares.BanDetectionMiddleware': 620 } #이 부분은 매 요청마다 쿠키를 삭제하는 기능으로 알고 있습니다. 제 사용법이 적절한지 조언 부탁립니다. COOKIES_ENABLED = False TELNETCONSOLE_PORT = None ..~~ 각 yield마다 meta에 dont_merge_cookies:true를 넣어준 상태입니다. yield scrapy.Request(url=i['link'], callback=self.product_1, meta={'dont_merge_cookies': True}) # 이 부분은 매 요청마다 랜덤 user-agent를 주기위해 셋팅했습니다. 하지만 실행하면, 속도가 100배 이상 느려 지는 것 같습니다. 어떻게 하면 최대한 빠르게 매요청마다 랜덤 user-agent를 보낼 수 있을지 조언부탁드립니다. DOWNLOADER_MIDDLEWARES = { 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None, 'scrapy.downloadermiddlewares.retry.RetryMiddleware': None, 'scrapy_fake_useragent.middleware.RandomUserAgentMiddleware': 400, 'scrapy_fake_useragent.middleware.RetryUserAgentMiddleware': 401, } FAKEUSERAGENT_PROVIDERS = [ 'scrapy_fake_useragent.providers.FakerProvider', 'scrapy_fake_useragent.providers.FakeUserAgentProvider', 'scrapy_fake_useragent.providers.FixedUserAgentProvider', ] # 만약 매 요청마다 random user-agent와 random ip를 네이버 쇼핑에 던질 수 있으면, 딜레이 시간 없애고 동시요청 갯수를 수천개로 늘려도, 밴 걸릴 확률이 낮을까요 ?
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
왜 크롤링이안될까요?ㅠㅠ
강사님 코드로 똑같이 실행했는데 이렇게해서 오류가 나는데 아무리 생각해도 뭐가 잘못된건지모르겠습니다
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
강의자료가 보이지 않아서 질문드립니다.
phantomjs 강의중에 브라우저제어해서 크롤링하기 1강에 제공된 강의자료 내에 phantomjs 관련 ipython 파일이 없어서 문의드립니다. 다운받을수있는 다른 경로가 있는건가요?
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
파이프라인강의에서 크롤링이안됩니다ㅠ.ㅠ
파이프라인 사용법익히기2에서 강사님 코드랑 분명히 똑같이 적었음에도 저렇게 오류가 나면서 크롤링이 실행이안됩니다 왜 안되는걸까요?ㅠㅠ셋팅도 다 수정하였습니다 아래 이미지는 다운받으셔서 보셔야될것같습니다ㅠㅠ 그냥올리니까 글씨가 잘안보이네요 그리고 처음에 파이프라인 통과하는지 확인하는 코드에서도 class EcommercePipline(object): def process_item(self,item,spider): print("process_item",item) return item
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
이런 사이트는 어떻게 크롤링 한 건 가요?
https://yhes.tistory.com/ 쿠팡과 관련된 글을 크롤링한 것 같은데 어떤 방식으로 크롤링 하면 괜찮을까요?
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
[감사인사] 크롤링 코드 완성
쌤, 강의 덕분에 개인적으로 만들고 싶은 크롤링 코드를 드디어 만들었습니다 ㅎ 크롤링 부트캠프랑 셀레니움 강의 여러번 반복해보고 따라 치면서 많이 익숙해졌고, 제가 만들려는 크롤링코드가 bs4 와 셀레니움 모두 필요했고, 쌤 강의에서 다뤄주신 문법 과 정규표현식도 아주 유용했습니다. 만들면서 에러가 자주나서, 검색해보고, 필요한 부분은 강의도 돌려보고, 왜 안되는지 되짚어 보고 하면서 하다보니 완성했고, 지금은 아주 잘 작동합니다. 이게 다 잔재미쌤 알찬 강의 덕분입니다. 감사드리고, 앞으로도 좋은 강의 만들어주세요~!
- 미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
ROBOTSTXT_OBEY
ROBOTSTXT_OBEY = False 입력했는데, Ignoring response <400 https://openapi.naver.com/v1/search/shop.json/query=iphone>: HTTP status code is not handled or not allowed 이런 에러가 뜹니다.. 세팅에서 user_agent부분도 바꿨는데도 정확히 어떤건지 모르겠네요...