При использовании промежуточного программного обеспечения Scrapy Downloader вы не можете найти то, что вам нужно.Вы создаете объект Response
и возвращаете его или возвращаете переменную response
, переданную с process_response
?
Я пробовал последнее, но продолжал получать response has no attribute selector
при использовании с FilesPipeline.
class CaptchaMiddleware(object):
def process_response(self, request, response, spider):
download_path = spider.settings['CAPTCHA_STORE']
# 1
captcha_images = parse_xpath(response, CAPTCHA_PATTERN, 'image')
if captcha_images:
for url in captcha_images:
url = response.urljoin(url)
print("Downloading %s" % url)
download_file(url, os.path.join(download_path, url.split('/')[-1]))
for image in os.listdir(download_path):
Image.open(image)
# 2
return response
Если я вернусь в #1
, FilesPipeline
будет работать правильно и загрузить файлы, но если я вернусь в #2
, он вернет ошибку response has no attribute selector