• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

robots.txt를 회피하려면 어떻게 해야하나요?

20.10.22 19:12 작성 조회수 231

0

사이트를 Scrapy를 활용해서 할려고 하면 robots 때문에 redirect가 되는데 이를 해결하고자 settings.py에서 

ROBOTSTXT_OBEY = False

로도 바꾸긴 했는데 동일하게 안되는데, 이런경우 scrapy로는 작업을 못하는건가요???

제가 크롤링 하려는 사이트는 www.etherscan.io입니다 
2020-10-22 19:09:55 [scrapy.utils.log] INFO: Scrapy 2.4.0 started (bot: etherscan)

2020-10-22 19:09:55 [scrapy.utils.log] INFO: Versions: lxml 4.5.0.0, libxml2 2.9.9, cssselect 1.1.0, parsel 1.6.0, w3lib 1.22.0, Twisted 20.3.0, Python 3.7.7 (default, Mar 26 2020, 10:32:53) - [Clang 4.0.1 (tags/RELEASE_401/final)], pyOpenSSL 19.1.0 (OpenSSL 1.1.1g  21 Apr 2020), cryptography 2.9.2, Platform Darwin-19.6.0-x86_64-i386-64bit

2020-10-22 19:09:55 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.selectreactor.SelectReactor

2020-10-22 19:09:55 [scrapy.crawler] INFO: Overridden settings:

{'BOT_NAME': 'etherscan',

 'NEWSPIDER_MODULE': 'etherscan.spiders',

 'SPIDER_MODULES': ['etherscan.spiders']}

2020-10-22 19:09:56 [scrapy.extensions.telnet] INFO: Telnet Password: 3e40e2b9fbf79ea2

2020-10-22 19:09:56 [scrapy.middleware] INFO: Enabled extensions:

['scrapy.extensions.corestats.CoreStats',

 'scrapy.extensions.telnet.TelnetConsole',

 'scrapy.extensions.memusage.MemoryUsage',

 'scrapy.extensions.logstats.LogStats']

2020-10-22 19:09:56 [scrapy.middleware] INFO: Enabled downloader middlewares:

['scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware',

 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware',

 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware',

 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware',

 'scrapy.downloadermiddlewares.retry.RetryMiddleware',

 'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware',

 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware',

 'scrapy.downloadermiddlewares.redirect.RedirectMiddleware',

 'scrapy.downloadermiddlewares.cookies.CookiesMiddleware',

 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware',

 'scrapy.downloadermiddlewares.stats.DownloaderStats']

2020-10-22 19:09:56 [scrapy.middleware] INFO: Enabled spider middlewares:

['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',

 'scrapy.spidermiddlewares.offsite.OffsiteMiddleware',

 'scrapy.spidermiddlewares.referer.RefererMiddleware',

 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',

 'scrapy.spidermiddlewares.depth.DepthMiddleware']

2020-10-22 19:09:56 [scrapy.middleware] INFO: Enabled item pipelines:

[]

2020-10-22 19:09:56 [scrapy.core.engine] INFO: Spider opened

2020-10-22 19:09:56 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)

2020-10-22 19:09:56 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6026

2020-10-22 19:09:56 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://www.etherscan.io/> from <GET http://www.etherscan.io/>

2020-10-22 19:09:56 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https://www.etherscan.io/404> from <GET https://www.etherscan.io/>

2020-10-22 19:09:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https://www.etherscan.io/404> from <GET https://www.etherscan.io/404>

2020-10-22 19:09:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https://www.etherscan.io/404> from <GET https://www.etherscan.io/404>

2020-10-22 19:09:58 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https://www.etherscan.io/404> from <GET https://www.etherscan.io/404>

2020-10-22 19:09:58 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https://www.etherscan.io/404> from <GET https://www.etherscan.io/404>

2020-10-22 19:09:58 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https://www.etherscan.io/404> from <GET https://www.etherscan.io/404>

2020-10-22 19:09:59 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https://www.etherscan.io/404> from <GET https://www.etherscan.io/404>

2020-10-22 19:09:59 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https://www.etherscan.io/404> from <GET https://www.etherscan.io/404>

답변 1

답변을 작성해보세요.

0

안녕하세요. 웹사이트에서 robots 로 크롤링을 금지하도록 설정해놓았다면, 크롤링은 무리가 있는 것으로 이해하고 있습니다. 저의 경우 그런 사이트를 본적은 없긴 한데, 특별한 방법은 없는 것으로 이해하고 있습니다.

추가로, 다음 공지사항도 한번 양해를 부탁드리며, 확인부탁드려요. 감사합니다.

---------------

안녕하세요. 잔재미코딩 Dave Lee 입니다.

오늘은 한가지 공지를 드려요~~

그동안 정말 다양하고 많은 분들께서 수강을 해주고 계시는데요. 그러다보니, 질문/답변 란에 동일한 이야기를 드릴 때가 많아서 공유를 드려요.

질문/답변 란에, 각자 원하시는 크롤링 코드 관련 문의를 해주시는 경우가 꽤 있었는데요. 그 때마다, 가급적 배려를 드리는 차원으로, 가볍게 볼 수 있는 부분에 대해서만 답변을 드리기는 했습니다. 하지만, 해당 질문/답변 란은 본 강의 영상과 관련한 질문이 있을 때를 답변해드리는 것이 기본 취지인 것 같아요. 

온라인 수학 강의를 수강하면서, 강의에 나온 수학공식을 사용하는 강의 외에 각자 풀고 있는 수학 문제를 질문하고, 이를 풀어드리는 강의는 본 적이 없는데요. 마찬가지로 본 강의를 수강하시면서, 각자의 코드나, 각자 원하시는 크롤링 코드를 작성해드리거나, 함께 풀어나가는 것은 현실적으로 큰 무리가 있습니다.

더군다나 본 강의가 평생 수강이 가능하기 때문에, 이를 지원해드릴 경우, 본 강의를 들으면 내가 원하는 크롤링 코드는 모두 해결해드려야 하는 오해 아닌 오해도 생길 수 있고요. 심지어, 저도 실제 코드를 작성해봐야 해서, 코드를 작성하느라 답변이 늦어지면, 다른 답변이 늦어질 수도 있어서, 다른 수강생분들께도 문제가 될 수 있을 것 같습니다.

그래서, 질문/답변란에 문의를 주실 때에는 각자의 원하시는 크롤링 코드 관련 문의는 안해주시면 감사하겠습니다. 이 부분 꼭 양해를 부탁드립니다.