我最近发现Scrapy,我觉得非常有效率。但是,我真的不知道如何将它嵌入用python编写的更大的项目中。我想以正常方式创建一个蜘蛛,但能够使用函数
在给定的URL上启动它start_crawl(url)
将在给定域上启动抓取过程,并仅在看到所有页面时停止。
答案 0 :(得分:3)
Scrapy要复杂得多。它运行多个进程并使用多线程。所以实际上没有办法将它用作普通的python函数。当然你可以导入启动爬虫并调用它的函数,但是那么呢?你将拥有正常的垃圾处理程序,它已经控制了你的程序。
这里最好的方法可能是将scrappy作为程序的子进程运行,并使用数据库或文件与它进行通信。您可以在程序和爬虫之间实现良好的分离,并对主进程进行可靠的控制。