0

我是python和scrapy的新手,因此遇到了一些基本的疑问(请避免我对一些基础知识的无知,我愿意学习:D)。

现在我正在编写一些蜘蛛并在命令行中使用 scrapy-ctl.py 来实现它们,方法是输入:

C:\Python26\dmoz>python scrapy-ctl.py crawl spider

但我不想要两个单独的 python 代码和一个命令行来实现这个。我想以某种方式定义一个蜘蛛,并通过编写和运行一个 python 代码让它抓取 url。我可以注意到在文件 scrapy-ctl.py , 'execute' 类型的函数被导入,但我不知道如何在包含蜘蛛的代码中定义这个函数。如果可能的话,有人可以解释我如何做到这一点,因为它大大减少了工作。

提前致谢!!

4

1 回答 1

1

但我不想要两个单独的 python 代码和一个命令行来实现这个。我想以某种方式定义一个蜘蛛,并通过编写和运行单个 python 代码使其抓取 url。

如果您只是想刮点东西,我不确定付出的努力是否会得到回报。你至少有两个选择:

  • 深入研究scrapy/cmdline.py。你会看到这是一种调度脚本,最终将工作交给run指定命令的方法,在这里crawl(in scrapy/commands/crawl.py)。看看第 54 行,我想scrapymanager.start()在一些设置之后会开始你的实际命令。

  • 一个小技巧:使用 pythonssubprocess模块将您的项目和执行放在一个文件(或项目)中。

于 2010-06-28T12:42:21.563 回答