[哲也] 增加一些功能
This commit is contained in:
36
script/zheye/server/main.py
Normal file
36
script/zheye/server/main.py
Normal file
@ -0,0 +1,36 @@
|
||||
# -*-coding:utf-8-*-
|
||||
import asyncio
|
||||
|
||||
import aiohttp
|
||||
from fastapi import FastAPI
|
||||
|
||||
app = FastAPI()
|
||||
|
||||
|
||||
async def fetch(session, url):
|
||||
if url and url.startswith('https://www.zhihu.com/appview/v2/answer'):
|
||||
async with session.get(url) as resp:
|
||||
return await resp.text()
|
||||
else:
|
||||
return ""
|
||||
|
||||
|
||||
@app.post("/api/v1/answer/links")
|
||||
async def request_zhihu_answers(links: list[str]):
|
||||
loop = asyncio.get_event_loop()
|
||||
tasks = []
|
||||
async with aiohttp.ClientSession() as session:
|
||||
for link in links:
|
||||
tasks.append(loop.create_task(fetch(session, link)))
|
||||
responses = await asyncio.gather(*tasks)
|
||||
result = []
|
||||
for link, response in zip(links, responses):
|
||||
if ('查看完整内容' in response or '查看全部章节' in response) and 'paid' in response:
|
||||
result.append("付费内容")
|
||||
elif 'ad-link-card' in response or 'xg.zhihu.com' in response or '营销平台' in response:
|
||||
result.append("营销推广")
|
||||
elif 'mcn-link-card' in response:
|
||||
result.append("购物推广")
|
||||
else:
|
||||
result.append("")
|
||||
return result
|
||||
Reference in New Issue
Block a user