python - 爬虫没有按配置的时间运行,是为什么?
大家讲道理
大家讲道理 2017-04-18 09:48:30
0
5
234

需求是这样,我把所有的url存在了mongo库,想每天查一遍url,抓一遍数据,可是周末并没有执行,


这个项目的日志

项目配置是这样的,我修改过几次itag,让项目重跑,别的项目也遇到几天不跑

 @every(minutes=10)
    def on_start(self):
        """运行入口"""
        self.crawl('data:, on_crawl_A', callback=self.crawl_A)
        
    @config(age=60,priority=3)     
    def crawl_A(self, response):
        for page in range(1, 549):
            params = {
                'page_index': page, 'size': self.PAGE_SIZE,
                'source': 'aaa',
            }
            self.crawl(self.DATA_SERVICE_URL, params=params,
                       callback=self.query_local_api, timeout=60, proxy=False)

    @config(age=2 * 60,priority=3)
    def query_local_api(self, response):
        data = json.loads(response.text)
        if data['msg'] != 'Success':
            return
        urls = [url for url in data['body'] if url.startswith("http://")]
        print 'urls len------>{}'.format(len(urls))
        for url in urls:
            self.crawl(url, callback=self.detail_page)
    @config(age=3 * 60 * 60,priority=10)
    def detail_page(self, response):

其中query_local_api 是查询本地mongo接口返回url,其实我想这样配置

@config(age=24 * 60 * 60,priority=10)
    def detail_page(self, response):

但是发现这个age怎么配都感觉抓的不对,我理解问题?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

répondre à tous(5)
PHPzhong
  1. Votre code n'est pas cohérent avec l'image que vous avez publiée. Le code est exécuté toutes les 10 minutes, mais l'image ci-dessus dure 6 heures

  2. Trouvez une tâche qui, selon vous, devrait être incluse, obtenez l'ID de la tâche sur la page de débogage (il se trouve dans le json en haut à gauche) et accédez à la page /task/project:taskid pour vérifier son état actuel

大家讲道理

J'étudie actuellement comment écrire des tâches planifiées en Python. Vous pouvez envisager d'utiliser apscheduler

.
刘奇

En fait, vous pouvez prendre du recul et l'examiner. Ce problème peut être résolu en utilisant les *nix propres crontab tâches planifiées

.
洪涛

Devinez :
Serait-ce dû au fait que le décorateur que vous avez écrit n'est pas géré correctement ?

小葫芦

J'étudie actuellement comment écrire un robot en utilisant PHP

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal