python scrapy如何编写参数而不是使用cmd:在Scrapy中使用自定义代码

时间:2014-03-02 19:04:02

标签: python python-2.7 scrapy

我使用scrapy 0.20和puthon 2.7

我曾经在cmd

中这样做
 -s JOBDIR=crawls/somespider-1

处理相关项目。 请注意,我已经在设置中进行了更改

我不想在cmd中使用它。

无论如何都可以在我的蜘蛛里面输入代码吗?

感谢

1 个答案:

答案 0 :(得分:1)

这很容易。在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。然后你的魔法就准备好了: - )