Exemplo n.º 1
0
def test_api():
    class MySettings(Settings):
        web = {"with_ajax": False}

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

    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 = {'/all?page=:page': '/news?p=:page'}

    class Page(Item):
        next_page = XPath('//a[@class="morelink"]/@href')

        class Meta:
            source = None
            route = {'/all?page=:page': '/news?p=:page'}

        def clean_next_page(self, next_page):
            return "http://127.0.0.1:5000/" + str(next_page)

    api.register(Post)
    api.register(Page)

    api.parse('/news?p=1')
Exemplo n.º 2
0
def test_api_with_ajax():
    from toapi import XPath, Item, Api

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

    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 = '/news\?p=\d+'

    class Page(Item):
        next_page = XPath('//a[@class="morelink"]/@href')

        class Meta:
            source = None
            route = '/news\?p=\d+'

        def clean_next_page(self, next_page):
            return "http://127.0.0.1:5000/" + next_page

    api.register(Post)
    api.register(Page)

    print(api.parse('/news?p=1'))
Exemplo n.º 3
0
def test_api_with_ajax():
    from toapi import XPath, Item, Api

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

    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('/'))
Exemplo n.º 4
0
from toapi import Api
from items.google import Google
from items.bing import Bing
from items.baidu import Baidu
from settings import MySettings

api = Api(settings=MySettings)

api.register(Google)
api.register(Bing)
api.register(Baidu)

if __name__ == '__main__':
    api.serve()
Exemplo n.º 5
0

class MovieList(Item):
    url = XPath('//b//a[@class="ulink"]/@href')
    title = XPath('//b//a[@class="ulink"]/text()')

    class Meta:
        source = XPath('//table[@class="tbspan"]')
        route = {
            '/movies/?page=1': '/html/gndy/dyzz/',
            '/movies/?page=:page': '/html/gndy/dyzz/index_:page.html',
            '/movies/': '/html/gndy/dyzz/'
        }

    def clean_url(self, url):
        return '/movies/{}/'.format(url.split('/')[-1].split('.')[0])


class Movie(Item):
    download = XPath('//*[@id="Zoom"]/table[1]//a/text()')

    class Meta:
        source = None
        route = {'/movies/:id': '/i/:id.html'}


api.register(MovieList)
api.register(Movie)

api.serve()
Exemplo n.º 6
0
from toapi import Api

from items.detail import Detail
from items.search_result import SearchResult
from settings import MySettings

api = Api('https://medicament.ma', settings=MySettings)
api.register(SearchResult)
api.register(Detail)

if __name__ == '__main__':
    api.serve(port=10000)
Exemplo n.º 7
0
#!/usr/bin/env python
from toapi import Api

from items.image_info import ImageInfo
from items.user import User
from settings import MySettings

api = Api(settings=MySettings)

api.register(ImageInfo)
api.register(User)

if __name__ == '__main__':
    api.serve()
Exemplo n.º 8
0
from toapi import Api
from items.page import Page
from items.post import Post
from items.gio_district import GIO
from items.gio_detail import GIO_DETAIL

from settings import MySettings

api = Api('http://sh.lianjia.com', settings=MySettings)
api.register(Page)
api.register(Post)
api.register(GIO)
api.register(GIO_DETAIL)

if __name__ == '__main__':
    api.serve()
Exemplo n.º 9
0
from toapi import Api
from items.hotbook import HotBook
from items.book import Book
from settings import MySettings

api = Api('https://news.ycombinator.com', settings=MySettings)
api.register(HotBook)
api.register(Book)

if __name__ == '__main__':
    api.serve()
Exemplo n.º 10
0
#coding=utf-8
from toapi import XPath, Item, Api, Settings


class MySettings(Settings):
    web = {
        "with_ajax": True,
        "request_config": {},
        "headers": None
    }

api = Api('https://sh.2boss.cn/estate/house', settings=MySettings)

class RabbitDoc(Item):
    url = XPath('//div[@class="content_box2"]/a/@href')
    title = XPath('//div[@class="content_box2"]/a/div/h2/text()')

    class Meta:
        source = XPath('//div[@class="clearfix content_box estate_external"]')
        route = {'/House?Community=:community': '/:community/s5'}

api.register(RabbitDoc)

api.serve()
Exemplo n.º 11
0
from toapi import Api
from items.list import MovieList, MovieListPage
from items.data import MovieData
from settings import MySettings

api = Api('https://yts.am/', settings=MySettings)
api.register(MovieListPage)
api.register(MovieList)
api.register(MovieData)

if __name__ == '__main__':
    api.serve()
Exemplo n.º 12
0
Arquivo: app.py Projeto: suming10/API
from toapi import Api
from config.site import URL
from items.page import Page
from items.recipe import Recipe
from items.content import Content
from items.category import Category
from settings import MemCacheSettings

api = Api(URL, settings=MemCacheSettings)
api.register(Page)
api.register(Recipe)
api.register(Content)
api.register(Category)

if __name__ == '__main__':
    api.serve()
Exemplo n.º 13
0
            for node in title[0].itertext():
                text += node
            title = text.strip()
        return title

    class Meta:
        source = Css('li.b_algo')
        route = {'/:wd': '/search?q=:wd&ensearch=1'}


class Baidu(Bing):
    __name__ = 'baidu'
    __base_url__ = 'http://www.baidu.com'

    url = Css('h3.t a', attr='href')
    title = Css('h3.t a')

    class Meta:
        source = Css('div.result')
        route = {'/:wd': '/s?wd=:wd&ie=utf-8&vf_bl=1'}


api.register(Baidu)
api.register(Bing)

if __name__ == '__main__':
    print(api.parse('/python'))
    api.serve()

    # Visit http://127.0.0.1:5000/python
Exemplo n.º 14
0
from toapi import Api
from items.allitebooks import Page, Book, Detail
from settings import MySettings

api = Api(settings=MySettings)

api.register(Page)
api.register(Book)
api.register(Detail)

if __name__ == '__main__':
    api.serve()
Exemplo n.º 15
0
        route = '/html/gndy/dyzz/index_\d+.html'


class Post(Item):
    __base_url__ = 'https://news.ycombinator.com'

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

    class Meta:
        source = XPath('//tr[@class="athing"]')
        route = '/news\?p=\d+'


class Page(Item):
    __base_url__ = 'https://news.ycombinator.com'
    next_page = XPath('//a[@class="morelink"]/@href')

    class Meta:
        source = None
        route = '/news\?p=\d+'

    def clean_next_page(self, next_page):
        return "http://127.0.0.1:5000/" + next_page


api.register(Movie)
api.register(Post)
api.register(Page)
api.serve()
Exemplo n.º 16
0
from toapi import Api
from items.page import Page
from items.post import Post
from settings import MySettings

api = Api('https://news.ycombinator.com', settings=MySettings)
api.register(Page)
api.register(Post)

if __name__ == '__main__':
  api.serve()
Exemplo n.º 17
0
from toapi import Api
from items.hotbook import HotBook
from items.book import Book
from items.search import Search
from settings import MySettings
import json
import requests

api = Api('', settings=MySettings)
api.register(HotBook)
api.register(Book)
api.register(Search)


@api.server.app.route('/search/<keyword>')
def search_page(keyword):
    '''
    91bay新书论坛
    搜索功能
    '''
    data = {
        'searchsel': 'forum',
        'mod': 'forum',
        'srchtype': 'title',
        'srchtxt': keyword,
    }
    r = requests.post(
        'http://91baby.mama.cn/search.php?searchsubmit=yes', data)
    r.encoding = 'utf8'
    html = r.text
    results = {}
Exemplo n.º 18
0
from toapi import XPath, Item, Api, Settings


class MySettings(Settings):
    web = {
        "with_ajax": False,
        "request_config": {},
        "headers": None
    }


api = Api('http://gaoqing.la/', settings=MySettings)


class Movie(Item):
    url = XPath('//a[@class="zoom"]/@href')
    title = XPath('//a[@class="zoom"]/@title')

    class Meta:
        source = XPath('//*[@id="post_container"]/li')
        route = '/'


api.register(Movie)

api.serve()
Exemplo n.º 19
0
from toapi import Api

from items.pexels import Pexels
from items.pixabay import Pixabay
from settings import MySettings

api = Api(settings=MySettings)
api.register(Pixabay)
api.register(Pexels)

if __name__ == '__main__':
    api.serve()
Exemplo n.º 20
0
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)

api.serve()

# Visit http://127.0.0.1:5000/
Exemplo n.º 21
0
from toapi import Api
from .items.page import Page
from .items.post import Post
from .items.user import User
from .settings import MySettings

api = Api('https://news.ycombinator.com/', settings=MySettings)
api.register(User)
api.register(Page)
api.register(Post)
api.serve(ip='0.0.0.0', port=5000)
Exemplo n.º 22
0
#!/usr/bin/env python
from toapi import Api

from items.index import IndexOne, IndexArticle, IndexQuestion
from items.article import Article
from items.question import Question
from items.one import One
from settings import MySettings

api = Api(settings=MySettings)

api.register(IndexOne)
api.register(IndexArticle)
api.register(IndexQuestion)
api.register(Article)
api.register(Question)
api.register(One)

if __name__ == '__main__':
    api.serve()
Exemplo n.º 23
0
from toapi import XPath, Item, Api

api = Api('http://www.dy2018.com/')


class Movies(Item):
    url = XPath('//b//a[@class="ulink"]/@href')
    title = XPath('//b//a[@class="ulink"]/text()')

    class Meta:
        source = XPath('//table[@class="tbspan"]')
        route = '/html/gndy/dyzz/index_\d+.html'


api.register(Movies)

api.serve()