scrapy - 如何序列化和持久化一个scrapy请求以供以后使用?
问题描述
我正在编写一个下载器中间件,能够重新安排n天后重新抓取的任何请求。为了给您一个粗略的想法,以下是重新安排的请求的样子:
Request(
url,
headers={...},
meta={
'schedule_recrawl_on': <timestamp>
},
dont_filter=False,
callback=self.parse_item
)
我的想法是用 pickle 序列化请求,将其保存在某个地方,然后将这些请求反序列化并在一段时间后注入调度程序。
callback=self.parse_item
然而,用 pickle 进行序列化并不容易,因为该对象正在引用蜘蛛类上定义的外部方法。
文档中有关于此的警告,但没有明确的解决方案。
有没有人解决过类似的问题?也许使用另一个序列化主体?
解决方案
推荐阅读
- android - Google Play 内部应用共享上传 API 端点
- sql - 当用户可以在 Postgresql 中搜索部分名称或拼写错误时如何搜索书籍
- angular - Angular 8 + @angular/fire onCall 函数没有 CORS 标头存在错误
- asp.net-mvc - 如何根据 Mvc 中的按钮单击(按钮的文本更改)选中和取消选中复选框?
- javascript - 提取后来自后台脚本的响应返回未定义 - Chrome 扩展
- html - 媒体查询的两个下限意味着什么?
- swift - 数据持久化 WatchOS 4.0
- ios - 由于启动崩溃,AppStoreConnect 多次拒绝二进制文件
- sql - 如何向现有查询添加列以显示具有不同日期范围值的数据?
- javascript - 有没有办法获得这些参数的计数和值?