将页面添加到Scrapy缓存

时间:2020-07-26 04:09:41

标签: python scrapy

在解析页面时,我需要加载其他页面以收集其他信息,但是我不需要将这些页面自己抓取。它们不在抓取范围内,仅在构建父页面的抓取内容时才需要。我使用requests来做到这一点,并且效果很好:

# Code fragment
def parse(self, response):
    for link in links:
        resp = requests.get(link)
        if resp.status_code == requests.codes.ok:
            soup = BeautifulSoup(resp.text, features='lxml')
            # Append to my metadata
    yield # augmented metadata

但是,这些页面没有被缓存,因此当我使用Scrapy缓存重复抓取时,总是会重新加载这些辅助页面。我想将它们手动添加到解析代码中的Scrapy缓存中。是否可以以编程方式编辑Scrapy缓存?

我认为使用scrapy.Request()对象可能会使我陷入Scrapy的基础架构(包括缓存)中,但是我看不到一种使用其获取内容的方法。似乎只能由Scrapy调用。

0 个答案:

没有答案
相关问题