Python 在cronjob期间,如何每天动态更改开始URL?

Python 在cronjob期间,如何每天动态更改开始URL?,python,scrapy,Python,Scrapy,我有一个具有动态起始URL的爬行器。URL每天都在变化。由于类方法的原因,它在部署或运行服务器之后会发生更改,并且保持不变 eskisehir.py 例如,我部署了我的项目30.09.2020,它应该每天都在变化,但我昨天意识到URL保持不变,就像http://esktb.org.tr/json/gunluk_bulten.php?tarih=30.09.20 那么,当爬虫程序启动时,我如何每天更改开始URL呢?要做到这一点,需要将链接生成器放在一个单独的方法中。您还可以将其包装在@proper

我有一个具有动态起始URL的爬行器。URL每天都在变化。由于类方法的原因,它在部署或运行服务器之后会发生更改,并且保持不变

eskisehir.py

例如,我部署了我的项目30.09.2020,它应该每天都在变化,但我昨天意识到URL保持不变,就像
http://esktb.org.tr/json/gunluk_bulten.php?tarih=30.09.20


那么,当爬虫程序启动时,我如何每天更改开始URL呢?

要做到这一点,需要将链接生成器放在一个单独的方法中。您还可以将其包装在@property中,并将其作为属性引用。以下是一个例子:

class EskisehirSpider(scrapy.Spider):
    name = 'eskisehir'
    allowed_domains = ['www.esktb.org.tr']

    @property
    def start_urls(self):
        now = datetime.datetime.today() - timedelta(days=1)
        now_time = now.strftime("%d.%m.%y")
        return ['http://esktb.org.tr/json/gunluk_bulten.php?tarih=' + now_time]

    def parse(self, response):
        print(f'start_urls is: {self.start_urls}')
        pass

为此,需要将链接生成器放在一个单独的方法中。您还可以将其包装在@property中,并将其作为属性引用。以下是一个例子:

class EskisehirSpider(scrapy.Spider):
    name = 'eskisehir'
    allowed_domains = ['www.esktb.org.tr']

    @property
    def start_urls(self):
        now = datetime.datetime.today() - timedelta(days=1)
        now_time = now.strftime("%d.%m.%y")
        return ['http://esktb.org.tr/json/gunluk_bulten.php?tarih=' + now_time]

    def parse(self, response):
        print(f'start_urls is: {self.start_urls}')
        pass

@穆拉德米尔很高兴听到这个消息。快乐编码@穆拉德米尔很高兴听到这个消息。快乐编码!