wangqiso 2023-09-22 21:28 采纳率: 0%
浏览 5

scarpy 可以重复启动同一个爬虫吗?

我想用scrapy编写一个爬虫程序,在启动这个爬虫时,指定一个参数值,比如num=1。启动后,爬虫可以根据num=1这个值,可以去读取数据库中的num=1的目标网页相关的配置数据(如:网页地址,字段等)。支持再次启动这个爬虫时,指定num=2,爬虫就去读取数据库中的num=2的另一个目标网页相关的配置数据。这样可以实现吗?求解惑,感谢🙏

  • 写回答

1条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-09-22 23:31
    关注

    引用 皆我百晓生 小程序回复内容作答:
    是的,Scrapy可以重复启动同一个爬虫并在每次启动时指定不同的参数值。你可以在启动命令中使用-a参数来指定参数值,例如:

    scrapy crawl myspider -a num=1
    

    在爬虫代码中,你可以通过self.settings来获取启动时传递的参数值,然后根据这个值去读取数据库中相应的配置数据。例如:

    class MySpider(scrapy.Spider):
        name = 'myspider'
    
        def __init__(self, *args, **kwargs):
            super(MySpider, self).__init__(*args, **kwargs)
            self.num = int(self.settings.get('num'))
    
        def start_requests(self):
            # 使用self.num来获取相应的配置数据并开始请求
            # ...
    

    这样,你就可以通过不同的启动命令指定不同的参数值,从而实现爬虫根据参数值读取不同的配置数据的功能。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月22日