如何重置爬虫URL缓存?

2024-04-18

我正在运行一个通过expressjs 调用调用的爬虫。

当我再次调用相同的路线时,我的爬虫再次运行,但显示所有路线已经完成。我什至删除了“./storage”文件夹

我阅读了文档,但似乎无法让 purgeDefaultStorages() 工作。

我将如何“重置”crawlee,以便没有缓存的结果?

import express from 'express'
import { PlaywrightCrawler, purgeDefaultStorages, enqueueLinks, Configuration } from 'crawlee';

const app = express();

let crawler

let run = async () => {
    const config = new Configuration({ 'persistStorage': false, persistStorage: false }); //tested with quotes and no quotes.
    Configuration.set('persistStorage', false) //add this direct config to see if that might work too.
     crawler = new PlaywrightCrawler({
        launchContext: {
            launchOptions: {
                headless: true,
            },
        },

    }, config);
    crawler.router.addDefaultHandler(async ({ request, page, enqueueLinks }) => {
        console.log(`Title of ${request.loadedUrl} ': img: ${request.id}`);
        await enqueueLinks({
            strategy: 'same-domain'
        });
    });

    await crawler.run(['http://localhost:8088/']);

    try {
        await config.getStorageClient().purge()
        await config.getStorageClient().teardown() //tested adding this too just incase.
        console.log('purging')
    } catch (e) {
        console.log(e)
    }
}

app.get('/', async (req, res) => {
    try {
        await run();
        res.status(200)
    } catch (e) {
        res.status(500)
    }

});

const PORT = process.env.PORT || 8889;
app.listen(PORT, () => {
    console.log(
        `The container started successfully and is listening for HTTP requests on ${PORT}`
    );

你将不得不使用purgeOnStart此外purgeDefaultStorages或者你可以只设置环境变量就可以了

Set CRAWLEE_PURGE_ON_START环境变量为0 or false
Set CRAWLEE_PERSIST_STORAGE环境变量为0 or false

这将解决您当前的问题。这里是link https://crawlee.dev/api/core/class/Configuration#:%7E:text=CRAWLEE_PURGE_ON_START供你参考

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何重置爬虫URL缓存? 的相关文章

随机推荐

  • 如何下载 Java SE 6 更新 121?

    我需要 JDK6 来运行遗留应用程序 但我还需要 TLS 1 2 支持 这个链接 http www oracle com technetwork java javase overview 156328 html R160 121表示 Jav
  • CAPL 写入文本文件

    我对 CAPL 语言还很陌生 因此 我在将数据写入 txt 文件时遇到问题 这是我写的代码 includes variables message Generate Num Gen message Logger Logs msTimer ti
  • 在某些条件下使用钩子自动将一个分支合并到另一个分支?

    我的 github 存储库中有两个分支 master and dev分支 我有一个需要合并的要求master分支到dev在以下条件下分支 一旦 PR 直接合并到 master 分支 那么我需要自动将 master 分支合并回 dev 分支
  • 无法使用相同的私钥签署 Android 应用精简版

    我刚刚签署了我的付费应用程序 现在我想使用相同的私钥签署它的精简版 我现在的问题是 收到此错误 jarsigner 无法打开 jar 文件 我必须为其创建另一个密钥库吗 或者问题是否来自于我将其保存为不同的文件名 我能做些什么 谢谢 这个问
  • 在 Angular 8 应用程序中实现会话存储

    我正在构建一个电影应用程序来帮助我的学习 我想知道如何捕获按钮的点击次数并将其保存在会话存储中 我已经能够让点击工作了 它增加并显示每个按钮的点击次数 我用指令做到了这一点 我还尝试将按钮的 id 作为键和点击次数作为值附加到会话存储中 我
  • LabelledGeneric 获取类名

    我对 Shapeless 相当陌生 正如人们从我的问题中推断出来的那样 给定一个实例LabelledGeneric 如何获取它所代表的类的名称 我可以从中获取字段名称信息Keys 所以我想我需要一些其他类型的Witness它封装了类型本身
  • 如何在 Linq GroupBy 中选择前 N 行

    希望你能在这里帮助我 我有一个预订列表 我想在其中获取每组旅游运营商中的前两行 这是数据示例 List
  • JQUERY 对对象数组进行排序

    我有一个包含许多对象的数组 Array var activeMembers 上面数组中的 DIV 对象如下所示 每个对象一次添加一个 div class chatmember 1011 div div class chatmember 10
  • 如何让 gradle 和 cucumber 一起工作?

    让 gradle 干净利落地使用 Cucumber 是一个挑战 我想要得到gradle build编译并运行测试 但到目前为止我还没有成功 构建 gradle plugins id com github samueltbrown cucum
  • 如何处理 Xcode 警告“没有以前的函数原型...”?

    这个警告在一些第三方库中大量出现 有没有办法在不修改代码的情况下处理它 例如忽略警告 如果我必须修改代码来修复它 我该怎么做 这是导致警告的代码块之一 BOOL FBIsDeviceIPad if IPHONE OS VERSION MAX
  • 将 Flex 值动态添加到 extjs 中的控制器

    我在 视图 中给出了一些项目 容器 布局为hbox 现在我想给flex通过 控制器 为每个项目赋予值 我怎样才能做到这一点 我已经浏览了文档 但找不到任何类似的方法setFlex EDIT Ext apply Ext getCmp IdHe
  • R 每行分割字符串[重复]

    这个问题在这里已经有答案了 我有一个data frame like word count a b c 5 c d 3 c d e 10 我想分割每一行的字符串以获得以下结果 word count a 5 b 5 c 5 c 3 d 3 c
  • 给定类型的转换运算符与构造函数。哪个更可取?

    我正在为我的容器定义迭代器类型 当然我想要iterator可转换为const iterator 但我不确定哪个更好 更可取 中的转换运算符iterator class iterator operator const iterator 或非显
  • 尝试升级到 flink 1.3.1 时出现异常

    我尝试将集群中的 flink 版本升级到 1 3 1 以及 1 3 2 但我的任务管理器中出现以下异常 2018 02 28 12 57 27 120 ERROR org apache flink streaming runtime tas
  • Andengine,如何用触摸屏移动精灵

    我从 Andengine 开始 当我触摸屏幕 而不是精灵 时很难移动我的精灵 我真的需要你的帮助 非常感谢 这是我的代码 Override protected Scene onCreateScene final Scene scene ne
  • 用匿名方法定义backgroundworker的RunWorkerCompleted?

    我希望我使用了正确的术语 我的目标是这样的 我意识到它不会那样工作 private bool someBool false BackgroundWorker bg new BackgroundWorker bg DoWork new DoW
  • 结合前同级和后同级的 Xpath

    I am trying to read the values from this screen Sections appears dynamically it can be more than one We have to read eac
  • 装箱(或背包?)问题

    我收集了 43 到 50 个数字 范围从 0 133 到 0 005 但大部分都比较小 如果可能的话 我想找到 L 和 R 之和非常接近的所有组合 The brute force method takes 243 to 250 steps
  • UrlHelper.Action("Edit", "Ad") 返回 id 参数?

    Hi 我使用以下代码生成 URL UrlHelper urlHelper new UrlHelper htmlHelper ViewContext RequestContext urlHelper Action Edit Ad 如果我当前在
  • 如何重置爬虫URL缓存?

    我正在运行一个通过expressjs 调用调用的爬虫 当我再次调用相同的路线时 我的爬虫再次运行 但显示所有路线已经完成 我什至删除了 storage 文件夹 我阅读了文档 但似乎无法让 purgeDefaultStorages 工作 我将