Le scénario que j'ai fait l'autre jour L'analyseur de flux récupère automatiquement l'image du chat Grâce à cela, l'époque où la collecte d'images de chat progresse ...
Cependant, la vitesse d'exécution est lente. Pas rapide ... Ce script n'est pas assez rapide. Je vais donc essayer de le modifier pour voir s'il peut être fait plus rapidement.
Pour le moment, j'ai mesuré la lenteur du script actuel. Vous trouverez ci-dessous une source qui intègre la logique de mesure.
get_cat.py
# -*- coding: utf-8 -*-
import feedparser
import urllib
import os
import time
def download_picture(q, count=10):
u"""Récupérer des images de comptage de q."""
count = str(count)
feed = feedparser.parse("https://picasaweb.google.com/data/feed/base/all?q=" + q + "&max-results=" + count)
pic_urls = []
for entry in feed['entries']:
url = entry.content[0].src
if not os.path.exists(os.path.join(os.path.dirname(__file__), q)):
os.mkdir(os.path.join(os.path.dirname(__file__), q))
urllib.urlretrieve(url, os.path.join(os.path.dirname(__file__), q, os.path.basename(url)))
print('download:' + url)
if __name__ == "__main__":
time1=time.time()
download_picture("cat", 10)
time1_2=str(time.time()-time1)
print("complete!("+time1_2+")")
résultat
complete!(6.05635690689)
Il a fallu 6 secondes pour télécharger 10 copies. Je l'ai essayé plusieurs fois, mais après tout, c'était environ 6 secondes. Désormais, vous ne pouvez télécharger que 14 400 exemplaires en 24 heures. C'est loin d'être idéal.
httplib2 J'ai appris l'existence d'une bibliothèque appelée httplib2 à partir de la rumeur du vent. Au contraire, celui-ci semble être plus standard que le standard. Caractéristiques de httplib2 (↓).
N'est-ce pas merveilleux? Utilisons-le maintenant.
$ sudo pip install httplib2
Installez rapidement. Et corrigez le programme.
get_cat2.py
# -*- coding: utf-8 -*-
import feedparser
import httplib2
import os
import time
def download_picture(q, count=10):
u"""Récupérer des images de comptage de q."""
count = str(count)
feed = feedparser.parse("https://picasaweb.google.com/data/feed/base/all?q=" + q + "&max-results=" + count)
pic_urls = []
http = httplib2.Http(".chache")
for entry in feed['entries']:
url = entry.content[0].src
open(os.path.join(os.path.join(os.path.dirname(__file__), q),os.path.basename(url)),'wb').write(http.request(url)[1])
print('download:' + url)
if __name__ == "__main__":
time1=time.time()
download_picture("cat", 10)
time1_2=str(time.time()-time1)
print("complete!("+time1_2+")")
Un endroit étrange.
Exécutez-le tout de suite!
Résultat d'exécution
Tout d'abord, le programme original. Eh bien comme ça.
complete!(5.79861092567)
édition révisée. Hmm?
complete!(5.06348490715)
La deuxième version améliorée. Oh...
complete!(1.20627403259)
La troisième version améliorée. Uooo!
complete!(0.768098115921)
C'est rapide! C'est assez pratique. Ce n'est pas un mensonge de dire la vitesse par seconde.
** Conclusion: httplib2 contribue à améliorer la collecte d'images de chat. ** **
Recommended Posts