如何整合蜘蛛和scrapy-ctl.py

时间:2010-06-28 12:14:37

标签: python windows scrapy

我是python和scrapy的新手,因此我得到了一些基本的怀疑(请放弃我对一些基本原理的无知,我愿意学习:D)。

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

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

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

提前致谢!!

1 个答案:

答案 0 :(得分:1)

  

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

如果你只是想要刮掉一些东西,我不确定这些努力会付出代价。您至少有两个选择:

  • 加入scrapy/cmdline.py。您将看到这是一种调度脚本,最后将工作移交给指定命令的run方法,此处为crawl(在scrapy/commands/crawl.py中)。看看第54行,我认为scrapymanager.start()将在完成一些设置后开始实际命令。

  • 一个小巧的方法:使用pythons subprocess模块将一个项目和执行项目放在一个文件(或项目)中。