JRazor
@JRazor
Senior StarkOverFlow Programmer

Scrapy: как получить код возврата с любой страницы?

Здравствуйте. Создавал вопрос, который не смогли решить. Scrapy глохнет при скармливании ему интересных URL. Приведу пример:

from scrapy.spider import Spider
from scrapy.crawler import Crawler
from scrapy import signals
from scrapy.utils.project import get_project_settings
from twisted.internet import reactor
from settings import options
from urlparse import urlparse

class SpiderParse(Spider):
    good_address = []
    name = 'Spider'
    domains = ['adn.com', 'dnr.state.ak.us', 'criminalrecordcheck.info', 'riverbug.terapad.com', 'ala-ism.pansitan.net']
    allowed_domains = domains
    start_urls = ['http://'+domain for domain in domains]

    def parse(self, response):
        if response.url in self.start_urls:
            self.good_address.append(urlparse(response.url).netloc)

        print self.good_address

if __name__ == '__main__':
    options = {
        'CONCURRENT_ITEMS': 200,
        'USER_AGENT': 'Googlebot/2.1 (+http://www.google.com/bot.html)',
        'DOWNLOAD_DELAY': 0.5,
        'CONCURRENT_REQUESTS': 20,
    }

    spider = SpiderParse()
    settings = get_project_settings()
    settings.overrides.update(options)
    crawler = Crawler(settings)
    crawler.signals.connect(reactor.stop, signal=signals.spider_closed)
    crawler.install()
    crawler.configure()
    crawler.crawl(spider)
    crawler.start()
    reactor.run()


Если вы запустите этот скрипт, он начнет обрабатывать адреса и...остановится на 3 или 4. Что, в общем-то, нехорошо. Как получить код возврата в любом случае?

P.S. Читал этот вопрос, но он мне не сильно помог (или я чего-то недопонял): stackoverflow.com/questions/9698372/scrapy-and-res...
P.S.S Домен "criminalrecordcheck.info" не зарегистрирован, но возвращает 200. Почему?
  • Вопрос задан
  • 2672 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы