Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
looyolo
scrapy
提交
27dd68a6
S
scrapy
项目概览
looyolo
/
scrapy
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
scrapy
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
27dd68a6
编写于
9月 02, 2011
作者:
P
Pablo Hoffman
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
added SpiderState extension
上级
c382f2fc
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
35 addition
and
0 deletion
+35
-0
docs/topics/settings.rst
docs/topics/settings.rst
+1
-0
scrapy/contrib/spiderstate.py
scrapy/contrib/spiderstate.py
+33
-0
scrapy/settings/default_settings.py
scrapy/settings/default_settings.py
+1
-0
未找到文件。
docs/topics/settings.rst
浏览文件 @
27dd68a6
...
...
@@ -599,6 +599,7 @@ Default::
'scrapy.contrib.feedexport.FeedExporter': 0,
'scrapy.contrib.spidercontext.SpiderContext': 0,
'scrapy.contrib.logstats.LogStats': 0,
'scrapy.contrib.spiderstate.SpiderState': 0,
}
The list of available extensions. Keep in mind that some of them need to
...
...
scrapy/contrib/spiderstate.py
0 → 100644
浏览文件 @
27dd68a6
from
__future__
import
with_statement
import
os
,
cPickle
as
pickle
from
scrapy
import
signals
from
scrapy.exceptions
import
NotConfigured
from
scrapy.xlib.pydispatch
import
dispatcher
class
SpiderState
(
object
):
"""Stores and loads spider state"""
def
__init__
(
self
,
jobdir
):
self
.
statefn
=
os
.
path
.
join
(
jobdir
,
'spider.state'
)
dispatcher
.
connect
(
self
.
spider_closed
,
signal
=
signals
.
spider_closed
)
dispatcher
.
connect
(
self
.
spider_opened
,
signal
=
signals
.
spider_opened
)
@
classmethod
def
from_crawler
(
cls
,
crawler
):
jobdir
=
crawler
.
settings
.
get
(
'JOBDIR'
)
if
not
jobdir
:
raise
NotConfigured
return
cls
(
jobdir
)
def
spider_closed
(
self
,
spider
):
with
open
(
self
.
statefn
,
'wb'
)
as
f
:
pickle
.
dump
(
spider
.
state
,
f
,
protocol
=
2
)
def
spider_opened
(
self
,
spider
):
if
os
.
path
.
exists
(
self
.
statefn
):
with
open
(
self
.
statefn
)
as
f
:
spider
.
state
=
pickle
.
load
(
f
)
else
:
spider
.
state
=
{}
scrapy/settings/default_settings.py
浏览文件 @
27dd68a6
...
...
@@ -144,6 +144,7 @@ EXTENSIONS_BASE = {
'scrapy.contrib.closespider.CloseSpider'
:
0
,
'scrapy.contrib.feedexport.FeedExporter'
:
0
,
'scrapy.contrib.logstats.LogStats'
:
0
,
'scrapy.contrib.spiderstate.SpiderState'
:
0
,
}
FEED_URI
=
None
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录