03.12.2017       Выпуск 206 (27.11.2017 - 03.12.2017)       Интересные проекты, инструменты, библиотеки

toapi - конвертируем HTML в API сервер

Читать>>



Экспериментальная функция:

Ниже вы видите текст статьи по ссылке. По нему можно быстро понять ссылка достойна прочтения или нет

Просим обратить внимание, что текст по ссылке и здесь может не совпадать.

Toapi

Build Python Version License

A library letting any web site provide APIs.

Feature

  • Converting static html to api.
  • Serving as an api server.
  • Supporting both XPath selector and Regex.
  • Supporting custom request header.

Installaton

  • pip install toapi
  • pip install git+https://github.com/gaojiuli/toapi/

Usage

Static site:

from toapi import XPath, Item, Api

api = Api('https://news.ycombinator.com/')

class Post(Item):
    url = XPath('//a[@class="storylink"][1]/@href')
    title = XPath('//a[@class="storylink"][1]/text()')

    class Meta:
        source = XPath('//tr[@class="athing"]')
        route = '/'

api.register(Post)

print(api.parse('/'))

api.serve()

Site with ajax:

  • Phantomjs is required. Run phantomjs -v to check.
  • If you use Ubuntu. Run sudo apt install phantomjs to install.
  • If you use MacOS. Run brew install phantomjs to install.
from toapi import XPath, Item, Api

api = Api('https://news.ycombinator.com/', with_ajax=True) # This meas use selenium to load the page source.

class Post(Item):
    url = XPath('//a[@class="storylink"][1]/@href')
    title = XPath('//a[@class="storylink"][1]/text()')

    class Meta:
        source = XPath('//tr[@class="athing"]')
        route = '/'

api.register(Post)

print(api.parse('/'))

api.serve(ip='0.0.0.0',port='5000')

Visit: http://127.0.0.1:5000/

Then, You get your api server. Powered by flask.

Contribute

License

Apache-2.0



Лучшая Python рассылка

Нас поддерживает


Python Software Foundation



Разместим вашу рекламу

Пиши: mail@pythondigest.ru

Нашли опечатку?

Выделите фрагмент и отправьте нажатием Ctrl+Enter.

Система Orphus