mirror of https://github.com/scrapy/scrapy.git
added REFERER_ENABLED setting, to control referer middleware
This commit is contained in:
parent
eed34e88cd
commit
8933e2f2be
|
|
@ -251,6 +251,20 @@ RefererMiddleware
|
|||
|
||||
Populates Request referer field, based on the Response which originated it.
|
||||
|
||||
RefererMiddleware settings
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. setting:: REFERER_ENABLED
|
||||
|
||||
REFERER_ENABLED
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
.. versionadded:: 0.15
|
||||
|
||||
Default: ``True``
|
||||
|
||||
Whether to enable referer middleware will be enabled.
|
||||
|
||||
UrlLengthMiddleware
|
||||
-------------------
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,16 @@ originated it.
|
|||
"""
|
||||
|
||||
from scrapy.http import Request
|
||||
from scrapy.exceptions import NotConfigured
|
||||
|
||||
class RefererMiddleware(object):
|
||||
|
||||
@classmethod
|
||||
def from_crawler(cls, crawler):
|
||||
if not crawler.settings.getbool('REFERER_ENABLED'):
|
||||
raise NotConfigured
|
||||
return cls()
|
||||
|
||||
def process_spider_output(self, response, result, spider):
|
||||
def _set_referer(r):
|
||||
if isinstance(r, Request):
|
||||
|
|
|
|||
|
|
@ -185,6 +185,8 @@ REDIRECT_MAX_METAREFRESH_DELAY = 100
|
|||
REDIRECT_MAX_TIMES = 20 # uses Firefox default setting
|
||||
REDIRECT_PRIORITY_ADJUST = +2
|
||||
|
||||
REFERER_ENABLED = True
|
||||
|
||||
RETRY_ENABLED = True
|
||||
RETRY_TIMES = 2 # initial response + 2 retries = 3 requests
|
||||
RETRY_HTTP_CODES = [500, 503, 504, 400, 408]
|
||||
|
|
|
|||
Loading…
Reference in New Issue