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

python scrapy how to code the parameter instead of using cmd: use Custom code in Scrapy

我用的是0.20和2.7。

我以前在命令中做过这个

1
 -s JOBDIR=crawls/somespider-1

处理可疑物品。请注意,我已经在设置中进行了更改

我不想在命令中使用它。

我是否可以在我的蜘蛛中输入代码?

谢谢


这太简单了。使用pipelines.py中的dropItem删除该项。您可以使用自定义命令在程序内部对参数进行编码。

下面是Scrapy中的自定义代码示例

使用自定义命令(例如:scrapy crawl mycommand)

你可以运行-s JOBDIR=crawls/somespider-1

例子:

创建一个目录commands,其中有scrapy.cfg文件在目录中创建一个文件mycommand.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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

现在转到命令行,输入scrapy mycommand。那么你的魔法准备好了:—)