toapi
1.0.0
O Toapi oferece a capacidade de fazer com que cada site forneça APIs.
$ pip install toapi
crie app.py
e copie o código:
from flask import request
from htmlparsing import Attr , Text
from toapi import Api , Item
api = Api ()
@ api . site ( 'https://news.ycombinator.com' )
@ api . list ( '.athing' )
@ api . route ( '/posts?page={page}' , '/news?p={page}' )
@ api . route ( '/posts' , '/news?p=1' )
class Post ( Item ):
url = Attr ( '.storylink' , 'href' )
title = Text ( '.storylink' )
@ api . site ( 'https://news.ycombinator.com' )
@ api . route ( '/posts?page={page}' , '/news?p={page}' )
@ api . route ( '/posts' , '/news?p=1' )
class Page ( Item ):
next_page = Attr ( '.morelink' , 'href' )
def clean_next_page ( self , value ):
return api . convert_string ( '/' + value , '/news?p={page}' , request . host_url . strip ( '/' ) + '/posts?page={page}' )
api . run ( debug = True , host = '0.0.0.0' , port = 5000 )
execute python app.py
em seguida, abra seu navegador e visite http://127.0.0.1:5000/posts?page=1
você obterá o resultado como:
{
"Page" : {
"next_page" : " http://127.0.0.1:5000/posts?page=2 "
},
"Post" : [
{
"title" : " Mathematicians Crack the Cursed Curve " ,
"url" : " https://www.quantamagazine.org/mathematicians-crack-the-cursed-curve-20171207/ "
},
{
"title" : " Stuffing a Tesla Drivetrain into a 1981 Honda Accord " ,
"url" : " https://jalopnik.com/this-glorious-madman-stuffed-a-p85-tesla-drivetrain-int-1823461909 "
}
]
}
Escreva código, teste código e pull request.