
FastAPI是一个用于构建API的现代、高性能Python web框架。它使用标准的Python类型提示来支持数据自动验证和API文档自动生成。该框架的一些优点包括速度快、易用性好、自动文档生成、类型注解、异步支持和验证功能。
FastAPI与其他Python框架的不同之处在于,它基于ASGI而非WSGI,支持异步代码。FastAPI还使用Python 3.6+的类型提示来声明参数、请求体、响应模型等,而其他框架需要额外的库或插件来实现数据验证和序列化。此外,FastAPI基于OpenAPI和JSON Schema标准,可以自动生成交互式API文档和多种语言的客户端代码。它是一个微框架,只提供最基本的功能,而其他功能可以通过插件或依赖项来添加。这使得FastAPI更加灵活、可扩展和易于集成,而其他框架如Django则可能具有更多的内置功能,但也可能导致更多的耦合和复杂性。
下面使用FastAPI来写一个示例代码,提供访问google关键词的web服务,需要做以下几个步骤:
代码如下:
from fastapi import FastAPI, Query
import requests
from bs4 import BeautifulSoup
import urllib.parse
app = FastAPI()
@app.get("/search")
async def search(keyword: str = Query(...)):
# 亿牛云 爬虫加强版代理IP 设置代理IP,添加用户名和密码
proxy_ip = "www.16yun.cn"
proxy_port = "31111"
proxy_username = "16YUN"
proxy_password = "16IP"
proxies = {
"http": f"http://{proxy_username}:{proxy_password}@{proxy_ip}:{proxy_port}",
"https": f"http://{proxy_username}:{proxy_password}@{proxy_ip}:{proxy_port}"
}
# 设置请求头
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36"
}
# 发送请求到Google
response = requests.get(f"https://www.google.com/search?q={keyword}", proxies=proxies, headers=headers)
# 解析响应内容
soup = BeautifulSoup(response.text, "html.parser")
# 获取查询结果的标题和链接
results = []
for item in soup.select(".yuRUbf"):
title = item.select_one(".DKV0Md").text
link = item.a["href"]
results.append({"title": title, "link": link})
# 返回查询结果
return results原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。