【发布时间】:2014-04-03 15:05:06
【问题描述】:
我正在使用 scrapy 0.20 和 puthon 2.7
我以前在cmd中这样做
-s JOBDIR=crawls/somespider-1
处理重复的项目。 请注意,我已经对设置进行了更改
我不想在 cmd 中使用它。
有没有这样我可以在我的蜘蛛中输入代码?
谢谢
【问题讨论】:
-
编辑主题,使新主题更相关..
标签: python python-2.7 scrapy
我正在使用 scrapy 0.20 和 puthon 2.7
我以前在cmd中这样做
-s JOBDIR=crawls/somespider-1
处理重复的项目。 请注意,我已经对设置进行了更改
我不想在 cmd 中使用它。
有没有这样我可以在我的蜘蛛中输入代码?
谢谢
【问题讨论】:
标签: python python-2.7 scrapy
这很容易。在 pipelines.py 中使用 dropitem 来删除项目。您可以使用自定义命令对程序内部的参数进行编码。
Here is example of custom code in scrapy
使用自定义命令(比如:scrapy crawl mycommand)
你可以运行-s JOBDIR=crawls/somespider-1
例子:
创建一个目录commands,其中有scrapy.cfg 文件
在目录中创建一个文件mycommand.py
from scrapy.command import ScrapyCommand
from scrapy.cmdline import execute
class Command(ScrapyCommand):
requires_project = True
def short_desc(self):
return "This is your custom command"
def run(self, args, opts):
args.append('scrapy')
args.append('crawl')
args.append('spider')##add what ever your syntax needs.In my case i want to get "scrapy crawl spider" in cmd
execute(args)#send a list as parameter with command as a single element of it
现在转到 cmd 行并输入 scrapy mycommand。然后你的魔法就准备好了:-)
【讨论】:
self.jobdir = 'something,对吧?