GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

gaojiuli

toapi – すべてのウェブサイトはAPIを提供しています

投稿日:

すべてのウェブサイトはAPIを提供しています。 http://www.toapi.org/

トアピ

概要

Toapiは、すべてのWebサイトでAPIを提供できるようにします。

バージョンv2.0.0、完全に書き換えました。

もっとエレガント。 より多くのpythonic

特徴

  • HTML WebサイトをAPIサービスに自動的に変換します。
  • ソースサイトのすべてのページを自動的にキャッシュします。
  • リクエストごとに自動的にキャッシュします。
  • 複数のWebサイトを1つのAPIサービスにマージすることをサポートします。

開始する

インストール

$ pip install toapi
$ toapi -v
toapi, version 2.0.0

使用法

app.pyを作成してコードをコピーします:

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)

python app.py実行する

ブラウザを開いてhttp://127.0.0.1:5000/posts?page=1アクセスしてください

次のような結果が得られます。

{
  "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"
    }
  ]
}

Todo

  1. 視覚化。 ドラッグアンドドロップでWebページにtoapiプロジェクトを作成します。

貢献する

コードとテストコードを書いてリクエストをプルします。







-gaojiuli
-, , , , , , , , ,

執筆者:

gaojiuli

toapi – すべてのウェブサイトはAPIを提供しています

投稿日:

(さらに…)







-gaojiuli
-, , , , , , , , ,

執筆者: