我在一个文件中写了两个蜘蛛。当我运行时scrapy runspider two_spiders.py,只有第一个 Spider 被执行。如何在不将文件拆分为两个文件的情况下运行它们。
two_spiders.py:
import scrapy
class MySpider1(scrapy.Spider):
# first spider definition
...
class MySpider2(scrapy.Spider):
# second spider definition
...
Run Code Online (Sandbox Code Playgroud)
让我们阅读文档:
在同一个进程中运行多个蜘蛛
默认情况下,当您运行
scrapy crawl. 但是,Scrapy 支持使用内部 API 为每个进程运行多个蜘蛛。下面是一个同时运行多个蜘蛛的例子:
import scrapy
from scrapy.crawler import CrawlerProcess
class MySpider1(scrapy.Spider):
# Your first spider definition
...
class MySpider2(scrapy.Spider):
# Your second spider definition
...
process = CrawlerProcess()
process.crawl(MySpider1)
process.crawl(MySpider2)
process.start() # the script will block here until all crawling jobs are finished
Run Code Online (Sandbox Code Playgroud)
(文档中还有几个例子)
从您的问题来看,不清楚您是如何将两个蜘蛛放入一个文件中的。用单个蜘蛛连接两个文件的内容是不够的。
尝试执行文档中所写的操作。或者至少向我们展示您的代码。没有它我们帮不了你。
| 归档时间: |
|
| 查看次数: |
2652 次 |
| 最近记录: |