Python Scrapy:如何编写参数而不是使用cmd:在Scrapy中使用自定义代码
Python Scrapy:如何编写参数而不是使用cmd:在Scrapy中使用自定义代码
我正在使用Python 2.7中的Scrapy 0.20。
我以前在命令提示符中执行以下操作,
-s JOBDIR=crawls/somespider-1
以处理重复的项目。 请注意,我已经在设置中进行了更改
我不想在命令提示符中使用它。
在我的爬虫程序中,是否有一种方法可以在代码中输入它?
admin 更改状态以发布 2023年5月23日
这很容易。在pipelines.py中使用dropitem来删除项目。而且你可以使用自定义命令来编写程序内的参数。
使用自定义命令(比如: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
现在打开命令行并输入scrapy mycommand
。然后你的魔法就准备好了:-)