如何将爬虫与 scrapy-ctl.py 集成

0 投票
1 回答
679 浏览
提问于 2025-04-16 00:31

我刚接触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 模块,把你的项目和执行放在一个文件(或项目)中。

撰写回答