python은 toapi 라이브러리를 이용하여api를 자동으로 생성합니다
그러나 자신이 API를 쓸 때 가짜 데이터를 만들고 페이지 논리를 처리해야 하기 때문에 처음에는 재미있었지만 시간이 지나면 무미건조해졌다.
이때 당신은 어떤 도구가 자동으로 한 온라인 사이트를 간단한 API로 바꿀 수 있는지 생각할 수 있습니다.
이런 도구는 확실히 존재하고 적지 않다. 그 중에서python 언어에서 비교적 환영받는 실현은https://github.com/gaojiuli/toapi프로젝트, 프로젝트 이름은 toapi입니다.
이 라이브러리를 간단히 체험해 봅시다.
설치
먼저 설치합니다.
pip install toapi
pip install cssselect
과학 기술로 재정의된 과정 목록 페이지를 API로 전환http://www.itest.info/courses 이것은 과학기술로 재정립된 과정 목록 페이지로 현재 우리가 개설한 모든 과정을 포함한다.
현재 우리는 이 페이지를 API로 전환합니다. 이 API는 모든 과정의 이름과 URL을 되돌려줍니다.
from flask import request
from htmlparsing import Attr, Text
from toapi import Api, Item
api = Api()
@api.site('http://www.itest.info')
@api.list('.col-md-3')
@api.route('/courses?page={page}', '/courses')
@api.route('/courses', '/courses')
class Course(Item):
url = Attr('a', 'href')
title = Text('h4')
api.run(debug=True, host='0.0.0.0', port=12306)
운행
python app.py
결과 보기curl localhost:12306/courses
결과 반환
{
"Course": [
{
"title": " ",
"url": "/courses/9"
},
{
"title": " ",
"url": "/courses/7"
},
{
"title": " --Python ",
"url": "/courses/6"
},
{
"title": "Selenium --Python ",
"url": "/courses/2"
}
]
}
공식적인 예hacknews 웹 사이트를 API로 전환
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)
결과
{
"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"
}
]
}
총결산이상은python이toapi 라이브러리를 이용하여api를 자동으로 생성하는 상세한 내용입니다. 더 많은pythontoapi 라이브러리가api를 자동으로 생성하는 것에 대한 자료는 저희 다른 관련 글을 주목해 주십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.