Comme le titre l'indique, il s'agit d'un script pour télécharger des images avec des mots-clés spécifiques à l'aide de l'API de recherche de Twitter.
https://github.com/Code-Hex/twippai Voici la référence.
Environnement d'exécution OS:OX X EI Capitan(10.11.5) Python:2.7.10
En plus des bibliothèques standard, vous devez les installer. requests requests_oauthlib
#!/usr/bin/env/python
# coding: utf-8
import os
import json
import time
import requests
from hashlib import md5
from requests_oauthlib import OAuth1
def md5hex(str):
a = md5()
a.update(str)
return a.hexdigest()
folder = './data'
#Renvoie True si le chemin existe
path = os.path.exists(folder)
if not path:
os.mkdir(folder)
consumer_key = ''#your key
consumer_secret = ''#your key
access_token = ''#your key
access_token_secret = ''#your key
#Voir ci-dessous pour l'API Twitter
#https://syncer.jp/twitter-api-matome/get/search/tweets
url = 'https://api.twitter.com/1.1/search/tweets.json'
oauth = OAuth1(consumer_key,consumer_secret,
access_token,access_token_secret)
#Spécification de la méthode de signature. Cela a fonctionné sans
#signaturemethod = 'HMAC-SHA1')
idnum = ''
count = 1
while count <= 10:
#Vous pouvez également utiliser les opérateurs de recherche Twitter
query_form = {'q' : u'Filtre Metamon:images min_retweets:1',
'lang' : 'ja',
'count' : 100,
'result_type' : 'recent',
'max_id' : idnum}
uri = requests.get(url, auth = oauth, params = query_form)
json_loads = json.loads(uri.content)
for data in json_loads['statuses']:
if 'media' not in data['entities']:
continue
else:
urls = data['entities']['media']
media_urls = urls[0]['media_url']#Obtenez l'URL de l'image
downloads = requests.get(media_urls).content #Image DL
print media_urls + " " + str([count])
#% S est remplacé par une chaîne de caractères
#L'URL est renvoyée sous forme de chaîne de caractères hexadécimaux et utilisée comme nom de fichier.?
filename = '%s.jpg' % md5hex(urls[0]['media_url'])
filepath = '%s/%s' % (folder, filename)
images = open(filepath, 'wb')
images.write(downloads)
images.close()
count += 1
idum = data['id']
time.sleep(1)
Recommended Posts