MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Грешка при извличане на туитове с Tweepy

Това IncompleteRead грешка обикновено възниква, когато потреблението ви на входящи туитове започне да изостава , което има смисъл във вашия случай предвид дългия ви списък от термини за проследяване. Общият подход, който повечето хора изглежда предприемат (включително и аз) е просто да потискат тази грешка и да продължат събирането ви (вижте връзката по-горе).

Не мога да си спомня напълно дали IncompleteRead ще затвори връзката ви (мисля, че може, защото моето лично решение свързва отново моя поток), но може да помислите за нещо като следното (Просто ще го откажа, вероятно има нужда от преработване за вашата ситуация ):

# from httplib import IncompleteRead # Python 2
from http.client import IncompleteRead # Python 3
...
while True:
    try:
        # Connect/reconnect the stream
        stream = Stream(auth, listener)
        # DON'T run this approach async or you'll just create a ton of streams!
        stream.filter(terms)
    except IncompleteRead:
        # Oh well, reconnect and keep trucking
        continue
    except KeyboardInterrupt:
        # Or however you want to exit this loop
        stream.disconnect()
        break
...

Отново, аз просто го разкривам, но моралът на историята е, че общият подход, възприет тук, е да се потисне грешката и да се продължи.

РЕДАКТИРАНЕ (10/11/2016): Просто полезна хапка за всеки, който се занимава с много големи обеми туитове - един начин да се справите с този случай без загубата на време за връзка или туитове би означавала да пуснете входящите си туитове в решение за опашка (RabbitMQ, Kafka и т.н.), за да бъдат погълнати/обработени от приложение, което чете от тази опашка.

Това премества пречка от приложния програмен интерфейс (API) на Twitter към вашата опашка, която не би трябвало да има проблем да чака да консумирате данните.

Това е по-скоро софтуерно решение за „производство“, така че ако не ви е грижа за загубата на туитове или повторното свързване, горното решение все още е напълно валидно.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Сортиране на резултатите от MongoDB GeoNear по нещо различно от разстояние?

  2. MongoDB $минута

  3. Върнете елемент от масив по индекс в шаблон за интервали за метеор

  4. Нуждаете се от различен брой на множество полета, които са били обединени от друга колекция с помощта на заявка за агрегиране на mongodb

  5. Грешка [ERR_HTTP_HEADERS_SENT] Не може да се зададат заглавки, след като са изпратени на клиента