2016-09-06 6 views
0

은 내가왜 Scrapy가 Iframe을 반환합니까?

2016-09-06 19:09:24 [scrapy] DEBUG: Crawled (200) <GET http://www.ooshop.com/courses-en-ligne/Home.aspx> (referer: None) 
<body> 
<iframe style="display:none;visibility:hidden;" src="//content.incapsula.com/jsTest.html" id="gaIframe"></iframe> 
</body> 
2016-09-06 19:09:24 [scrapy] INFO: Closing spider (finished) 

답변

2

이 웹 사이트는 빈 iframe이 있고,

내가이

class Parik(scrapy.Spider): 
    name = "ooshop" 
    allowed_domains = ["http://www.ooshop.com/courses-en-ligne/Home.aspx"] 

    def __init__(self, idcrawl=None, proxy=None, *args, **kwargs): 
     super(Parik, self).__init__(*args, **kwargs) 
     self.start_urls = ['http://www.ooshop.com/courses-en-ligne/Home.aspx'] 

    def parse(self, response): 
     print response.css('body').extract_first() 

시도하지만 난 첫 번째 페이지가없는 파이썬 Scrapy에 의해 this site를 크롤링 할 웹 사이트 보안 서비스 인 Incapsula가 보호합니다. 웹 사이트 자체에 대한 액세스를 제공하는 특수 쿠키를 받기 전에 수행해야하는 어려움을 "브라우저"에 제공합니다.

다행히도 우회하기가 어렵지 않습니다. incapsula-cracker을 설치하고 다운로더 미들웨어를 설치하십시오 :

DOWNLOADER_MIDDLEWARES = { 
    'incapsula.IncapsulaMiddleware': 900 
} 
+0

시간이 더 걸리지 만 작동합니다. 감사 – parik

관련 문제