コード例 #1
0
ファイル: crawl.py プロジェクト: sanecz/itgifs
            break
        offset += 20
        parse_posts(content, t)
    return images

def parse_posts(posts, t):
    images = []
    for post in posts["posts"]:
        if post.get("body") is None:
            print post
            continue
        regex_res = REGEX.search(post["body"])
        title = post["title"]
        source = post["post_url"]
        #tags = post["tags"] # sometimes we can have some surprises...
        if regex_res is None:
            print post
            continue
        image_url = regex_res.group(0)
        t.add_image(image_url, source, title)
    return images

if __name__ == '__main__':
    tumblrs = ['lesjoiesdusysadmin.tumblr.com', 'devopsreactions.tumblr.com', 'lesjoiesducode.fr',
               'lifeofasoftwareengineer.tumblr.com', 'frontenddevreactions.tumblr.com']
    t = ItGifs()
    for tumblr in tumblrs:
        print tumblr
        get_posts(tumblr, t)
    t.close()
コード例 #2
0
ファイル: web.py プロジェクト: sanecz/itgifs
from cherrypy import wsgiserver
from flask import Flask, request, jsonify
from gifs import ItGifs

app = Flask(__name__)
gifs = ItGifs()

@app.route("/")
def root():
    return "Hello World", 418

@app.route("/<string:tags>", methods=["GET"])
def get_gif(tags):
    images = gifs.get_image(tags)
    if not images:
        return jsonify({"error": "not found"}), 404
    return jsonify(images), 200

@app.route("/id/<int:idimg>", methods=["GET"])
def get_gif_by_id(idimg):
    images = gifs.get_image_with_id(idimg)
    if not images:
        return jsonify({"error": "not found"}), 404
    return jsonify(images), 200

@app.route("/", methods=["POST"])
def create_gif():
    if request.headers.get('Content-Type') == 'application/json':
        content = request.get_json()
        url, source, tags = content.get("url"), content.get("source"), content.get("tags")
    else: