阅读scrapy文档后,我认为HttpProxyMiddleware默认情况下启用。 但是,当我开始通过scrapyd的Web服务接口蜘蛛,HttpProxyMiddleware未启用。 我收到以下的输出:
2013-02-18 23:51:01+1300 [scrapy] INFO: Scrapy 0.17.0-120-gf293d08 started (bot: pde)
2013-02-18 23:51:02+1300 [scrapy] DEBUG: Enabled extensions: FeedExporter, LogStats, CloseSpider, WebService, CoreStats, SpiderState
2013-02-18 23:51:02+1300 [scrapy] DEBUG: Enabled downloader middlewares: HttpAuthMiddleware, DownloadTimeoutMiddleware, UserAgentMiddleware, RetryMiddleware, DefaultHeadersMiddleware, MetaRefreshMiddleware, HttpCompressionMiddleware, RedirectMiddleware, CookiesMiddleware, ChunkedTransferMiddleware, DownloaderStats
2013-02-18 23:51:02+1300 [scrapy] DEBUG: Enabled spider middlewares: HttpErrorMiddleware, OffsiteMiddleware, RefererMiddleware, UrlLengthMiddleware, DepthMiddleware
2013-02-18 23:51:02+1300 [scrapy] DEBUG: Enabled item pipelines: PdePipeline
2013-02-18 23:51:02+1300 [shotgunsupplements] INFO: Spider opened
需要注意的是HttpProxyMiddleware未启用。 我怎样才能启用它scrapyd? 任何帮助将不胜感激。
我scrapy.cfg
# Automatically created by: scrapy startproject
#
# For more information about the [deploy] section see:
# http://doc.scrapy.org/topics/scrapyd.html
[settings]
default = pd.settings
[deploy]
url = http://localhost:6800/
project = pd
我有以下settings.py
BOT_NAME = 'pd' #this gets replaced with a function
BOT_VERSION = '1.0'
SPIDER_MODULES = ['pd.spiders']
NEWSPIDER_MODULE = 'pd.spiders'
DEFAULT_ITEM_CLASS = 'pd.items.Product'
ITEM_PIPELINES = 'pd.pipelines.PdPipeline'
USER_AGENT = '%s/%s' % (BOT_NAME, BOT_VERSION)
TELNETCONSOLE_HOST = '127.0.0.1' # defaults to 0.0.0.0 set so
TELNETCONSOLE_PORT = '6073' # only we can see it.
TELNETCONSOLE_ENABLED = False
WEBSERVICE_ENABLED = True
LOG_ENABLED = True
ROBOTSTXT_OBEY = False
ITEM_PIPELINES = [
'pd.pipelines.PdPipeline',
]
DATA_DIR = '/home/pd/scraped_data' #directory to store export files to.
DOWNLOAD_DELAY = 2.0
DOWNLOADER_MIDDLEWARES = {
'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware': 750,
}
问候,
Franshu