如何将爬虫与 scrapy-ctl.py 集成
我刚接触Python和Scrapy,所以有一些基本的疑问(请原谅我对一些基础知识的无知,我愿意学习 :D)。
现在我正在写一些爬虫,并通过命令行使用scrapy-ctl.py来运行它们,我只需输入:
C:\Python26\dmoz>python scrapy-ctl.py crawl spider
但是我不想要两个独立的Python代码和一个命令行来实现这个。我想通过编写和运行一段单独的Python代码来定义一个爬虫,让它去爬取网址。我注意到在scrapy-ctl.py文件中,有一个名为'execute'的函数被导入,但我对如何在包含爬虫的代码中定义这个函数感到困惑。有人能告诉我怎么做吗?如果可以的话,这样可以大大减少工作量。
提前谢谢大家!!
1 个回答
1
但是我不想要两个独立的Python代码和一个命令行来实现这个。我想通过写和运行一段Python代码来定义一个爬虫,让它自动爬取网址。
如果你只是想抓取一些东西,我不太确定这样做是否值得。你至少有两个选择:
深入了解一下
scrapy/cmdline.py
。你会发现这其实是一个调度脚本,最后会把工作交给指定命令的run
方法,这里是crawl
(在scrapy/commands/crawl.py
中)。看看第54行,我觉得scrapymanager.start()
会在一些设置后开始你的实际命令。一个稍微有点小技巧的方法:使用Python的
subprocess
模块,把你的项目和执行放在一个文件(或项目)中。