Я новичок в Scrapy, и я хотел бы написать резервные копии HTML, которые s3. Я обнаружил, что, используя следующее, я мог написать html конкретного скрапа:
settings.py
ITEM_PIPELINE = {
'scrapy.pipelines.files.S3FilesStore': 1
}
AWS_ACCESS_KEY_ID = os.environ['S3_MAIN_KEY']
AWS_SECRET_ACCESS_KEY= os.environ['S3_MAIN_SECRET']
FEED_FORMAT = "json"
FEED_URI=f's3://bucket_name/%(name)s/%(today)s.html'
И затем в своем файле скребка:
def parse(self, response):
yield {'body': str(response.body, 'utf-8')}
Однако я хотел бы написать ключ, который включает в себя URL-адрес в качестве подпапки, например:
FEED_URI=f's3://bucket_name/%(name)s/%(url)s/%(today)s.html'
Как я могу динамически получить URL-адрес для FEED_URI. Я предполагаю, что в
def start_requests(self):
urls = [
'http://www.example.com',
'http://www.example_1.com',
'http://www.example_2.com',
]
у меня есть несколько URL. Кроме того, есть ли способ написать необработанный HTML-файл, не вложенный в JSON? Спасибо.