mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
International information inquiry is supported
This commit is contained in:
parent
9a84c02bb5
commit
ede54f9b22
122
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
122
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
@ -0,0 +1,122 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="ignoredPackages">
|
||||
<value>
|
||||
<list size="109">
|
||||
<item index="0" class="java.lang.String" itemvalue="bs4" />
|
||||
<item index="1" class="java.lang.String" itemvalue="Automat" />
|
||||
<item index="2" class="java.lang.String" itemvalue="python-dateutil" />
|
||||
<item index="3" class="java.lang.String" itemvalue="cycler" />
|
||||
<item index="4" class="java.lang.String" itemvalue="pycparser" />
|
||||
<item index="5" class="java.lang.String" itemvalue="twisted-iocpsupport" />
|
||||
<item index="6" class="java.lang.String" itemvalue="constantly" />
|
||||
<item index="7" class="java.lang.String" itemvalue="pyasn1-modules" />
|
||||
<item index="8" class="java.lang.String" itemvalue="filelock" />
|
||||
<item index="9" class="java.lang.String" itemvalue="certifi" />
|
||||
<item index="10" class="java.lang.String" itemvalue="PyDispatcher" />
|
||||
<item index="11" class="java.lang.String" itemvalue="lxml" />
|
||||
<item index="12" class="java.lang.String" itemvalue="soupsieve" />
|
||||
<item index="13" class="java.lang.String" itemvalue="pyparsing" />
|
||||
<item index="14" class="java.lang.String" itemvalue="beautifulsoup4" />
|
||||
<item index="15" class="java.lang.String" itemvalue="hyperlink" />
|
||||
<item index="16" class="java.lang.String" itemvalue="service-identity" />
|
||||
<item index="17" class="java.lang.String" itemvalue="Scrapy" />
|
||||
<item index="18" class="java.lang.String" itemvalue="cryptography" />
|
||||
<item index="19" class="java.lang.String" itemvalue="kiwisolver" />
|
||||
<item index="20" class="java.lang.String" itemvalue="zope.interface" />
|
||||
<item index="21" class="java.lang.String" itemvalue="priority" />
|
||||
<item index="22" class="java.lang.String" itemvalue="attrs" />
|
||||
<item index="23" class="java.lang.String" itemvalue="parsel" />
|
||||
<item index="24" class="java.lang.String" itemvalue="platformdirs" />
|
||||
<item index="25" class="java.lang.String" itemvalue="cssselect" />
|
||||
<item index="26" class="java.lang.String" itemvalue="matplotlib" />
|
||||
<item index="27" class="java.lang.String" itemvalue="virtualenv" />
|
||||
<item index="28" class="java.lang.String" itemvalue="charset-normalizer" />
|
||||
<item index="29" class="java.lang.String" itemvalue="distlib" />
|
||||
<item index="30" class="java.lang.String" itemvalue="itemadapter" />
|
||||
<item index="31" class="java.lang.String" itemvalue="idna" />
|
||||
<item index="32" class="java.lang.String" itemvalue="jieba" />
|
||||
<item index="33" class="java.lang.String" itemvalue="queuelib" />
|
||||
<item index="34" class="java.lang.String" itemvalue="cffi" />
|
||||
<item index="35" class="java.lang.String" itemvalue="itemloaders" />
|
||||
<item index="36" class="java.lang.String" itemvalue="h2" />
|
||||
<item index="37" class="java.lang.String" itemvalue="numpy" />
|
||||
<item index="38" class="java.lang.String" itemvalue="pyasn1" />
|
||||
<item index="39" class="java.lang.String" itemvalue="requests" />
|
||||
<item index="40" class="java.lang.String" itemvalue="w3lib" />
|
||||
<item index="41" class="java.lang.String" itemvalue="virtualenv-clone" />
|
||||
<item index="42" class="java.lang.String" itemvalue="pyOpenSSL" />
|
||||
<item index="43" class="java.lang.String" itemvalue="backports.entry-points-selectable" />
|
||||
<item index="44" class="java.lang.String" itemvalue="urllib3" />
|
||||
<item index="45" class="java.lang.String" itemvalue="hyperframe" />
|
||||
<item index="46" class="java.lang.String" itemvalue="six" />
|
||||
<item index="47" class="java.lang.String" itemvalue="xlwt" />
|
||||
<item index="48" class="java.lang.String" itemvalue="incremental" />
|
||||
<item index="49" class="java.lang.String" itemvalue="Protego" />
|
||||
<item index="50" class="java.lang.String" itemvalue="hpack" />
|
||||
<item index="51" class="java.lang.String" itemvalue="pipenv" />
|
||||
<item index="52" class="java.lang.String" itemvalue="jmespath" />
|
||||
<item index="53" class="java.lang.String" itemvalue="Pillow" />
|
||||
<item index="54" class="java.lang.String" itemvalue="Twisted" />
|
||||
<item index="55" class="java.lang.String" itemvalue="httpx" />
|
||||
<item index="56" class="java.lang.String" itemvalue="tzlocal" />
|
||||
<item index="57" class="java.lang.String" itemvalue="greenlet" />
|
||||
<item index="58" class="java.lang.String" itemvalue="nonebot2" />
|
||||
<item index="59" class="java.lang.String" itemvalue="PyYAML" />
|
||||
<item index="60" class="java.lang.String" itemvalue="sgmllib3k" />
|
||||
<item index="61" class="java.lang.String" itemvalue="python-dotenv" />
|
||||
<item index="62" class="java.lang.String" itemvalue="rfc3986" />
|
||||
<item index="63" class="java.lang.String" itemvalue="feedparser" />
|
||||
<item index="64" class="java.lang.String" itemvalue="gino" />
|
||||
<item index="65" class="java.lang.String" itemvalue="Pygments" />
|
||||
<item index="66" class="java.lang.String" itemvalue="playwright" />
|
||||
<item index="67" class="java.lang.String" itemvalue="starlette" />
|
||||
<item index="68" class="java.lang.String" itemvalue="bleach" />
|
||||
<item index="69" class="java.lang.String" itemvalue="docutils" />
|
||||
<item index="70" class="java.lang.String" itemvalue="nonebot-adapter-cqhttp" />
|
||||
<item index="71" class="java.lang.String" itemvalue="uvicorn" />
|
||||
<item index="72" class="java.lang.String" itemvalue="pypinyin" />
|
||||
<item index="73" class="java.lang.String" itemvalue="readme-renderer" />
|
||||
<item index="74" class="java.lang.String" itemvalue="pydantic" />
|
||||
<item index="75" class="java.lang.String" itemvalue="asyncpg" />
|
||||
<item index="76" class="java.lang.String" itemvalue="typing-extensions" />
|
||||
<item index="77" class="java.lang.String" itemvalue="click" />
|
||||
<item index="78" class="java.lang.String" itemvalue="APScheduler" />
|
||||
<item index="79" class="java.lang.String" itemvalue="httpcore" />
|
||||
<item index="80" class="java.lang.String" itemvalue="async-timeout" />
|
||||
<item index="81" class="java.lang.String" itemvalue="SQLAlchemy" />
|
||||
<item index="82" class="java.lang.String" itemvalue="importlib-metadata" />
|
||||
<item index="83" class="java.lang.String" itemvalue="tomlkit" />
|
||||
<item index="84" class="java.lang.String" itemvalue="PyWavelets" />
|
||||
<item index="85" class="java.lang.String" itemvalue="zipp" />
|
||||
<item index="86" class="java.lang.String" itemvalue="nest-asyncio" />
|
||||
<item index="87" class="java.lang.String" itemvalue="pkginfo" />
|
||||
<item index="88" class="java.lang.String" itemvalue="scapy" />
|
||||
<item index="89" class="java.lang.String" itemvalue="pyee" />
|
||||
<item index="90" class="java.lang.String" itemvalue="websockets" />
|
||||
<item index="91" class="java.lang.String" itemvalue="scipy" />
|
||||
<item index="92" class="java.lang.String" itemvalue="opencv-python" />
|
||||
<item index="93" class="java.lang.String" itemvalue="twine" />
|
||||
<item index="94" class="java.lang.String" itemvalue="aiofiles" />
|
||||
<item index="95" class="java.lang.String" itemvalue="ruamel.yaml" />
|
||||
<item index="96" class="java.lang.String" itemvalue="packaging" />
|
||||
<item index="97" class="java.lang.String" itemvalue="cssutils" />
|
||||
<item index="98" class="java.lang.String" itemvalue="pandas" />
|
||||
<item index="99" class="java.lang.String" itemvalue="tqdm" />
|
||||
<item index="100" class="java.lang.String" itemvalue="fastapi" />
|
||||
<item index="101" class="java.lang.String" itemvalue="bilibili-api" />
|
||||
<item index="102" class="java.lang.String" itemvalue="aiohttp" />
|
||||
<item index="103" class="java.lang.String" itemvalue="multidict" />
|
||||
<item index="104" class="java.lang.String" itemvalue="yarl" />
|
||||
<item index="105" class="java.lang.String" itemvalue="pytz" />
|
||||
<item index="106" class="java.lang.String" itemvalue="ImageHash" />
|
||||
<item index="107" class="java.lang.String" itemvalue="keyring" />
|
||||
<item index="108" class="java.lang.String" itemvalue="ujson" />
|
||||
</list>
|
||||
</value>
|
||||
</option>
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
||||
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
48
.idea/workspace.xml
generated
Normal file
48
.idea/workspace.xml
generated
Normal file
@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="ed635af3-c0b8-42b8-bec2-97a67519d2d6" name="变更" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/plugins/yiqing/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/plugins/yiqing/__init__.py" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="FileTemplateManagerImpl">
|
||||
<option name="RECENT_TEMPLATES">
|
||||
<list>
|
||||
<option value="Python Script" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="ProjectId" id="22hNoBlqrIEWzpMupKY3FkeSP6I" />
|
||||
<component name="ProjectViewState">
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
|
||||
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
</component>
|
||||
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="应用程序级" UseSingleDictionary="true" transferred="true" />
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="默认任务">
|
||||
<changelist id="ed635af3-c0b8-42b8-bec2-97a67519d2d6" name="变更" comment="" />
|
||||
<created>1640286031697</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1640286031697</updated>
|
||||
<workItem from="1640286033491" duration="1228000" />
|
||||
<workItem from="1640287304679" duration="299000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="version" value="3" />
|
||||
</component>
|
||||
</project>
|
||||
@ -5,7 +5,7 @@ from nonebot.adapters.cqhttp import Bot, MessageEvent, GroupMessageEvent
|
||||
from nonebot.typing import T_State
|
||||
from utils.utils import get_message_text
|
||||
from configs.config import NICKNAME
|
||||
|
||||
from .other_than import get_other_data
|
||||
|
||||
__zx_plugin_name__ = "疫情查询"
|
||||
__plugin_usage__ = """
|
||||
@ -54,4 +54,8 @@ async def _(bot: Bot, event: MessageEvent, state: T_State):
|
||||
f"{event.group_id if isinstance(event, GroupMessageEvent) else 'private'}) 查询疫情失败"
|
||||
)
|
||||
else:
|
||||
await yiqing.send(f"{NICKNAME}没有查到{msg}的疫情查询...")
|
||||
rely=await get_yiqing_data(msg)
|
||||
if rely:
|
||||
await yiqing.send(rely)
|
||||
else:
|
||||
await yiqing.send(f"{NICKNAME}没有查到{msg}的疫情查询...")
|
||||
|
||||
73
plugins/yiqing/other_than.py
Normal file
73
plugins/yiqing/other_than.py
Normal file
@ -0,0 +1,73 @@
|
||||
# python3
|
||||
# -*- coding: utf-8 -*-
|
||||
# @Time : 2021/12/23 23:04
|
||||
# @Author : yzyyz
|
||||
# @Email : youzyyz1384@qq.com
|
||||
# @File : other_than.py
|
||||
# @Software: PyCharm
|
||||
import httpx
|
||||
import re
|
||||
import json
|
||||
__doc__='''爬虫实现国外疫情数据(找不到好接口)'''
|
||||
|
||||
|
||||
def intcomma(value):
|
||||
"""
|
||||
数字格式化
|
||||
"""
|
||||
orig = str(value)
|
||||
new = re.sub("^(-?\d+)(\d{3})", '\g<1>,\g<2>', orig)
|
||||
if orig == new:
|
||||
return new
|
||||
else:
|
||||
return intcomma(new)
|
||||
|
||||
async def get_other_data(place:str):
|
||||
"""
|
||||
:param place: 地名
|
||||
:return: 格式化字符串
|
||||
"""
|
||||
try:
|
||||
html = httpx.get('https://news.ifeng.com/c/special/7uLj4F83Cqm').text.replace('\n', '').replace(' ', '')
|
||||
except:
|
||||
return
|
||||
find_data = re.compile(r'varallData=(.*?);</script>')
|
||||
sum = re.findall(find_data, html)[0]
|
||||
sum = json.loads(sum)
|
||||
other_country=sum['yiqing_v2']['dataList'][29]['child']
|
||||
for country in other_country:
|
||||
if place==country['name2']:
|
||||
return (
|
||||
f"{place} 疫情数据:\n"
|
||||
"——————————————\n"
|
||||
f"新增病例:{intcomma(country['quezhen_add'])}\n"
|
||||
f"现有确诊:{intcomma(country['quezhen_xianyou'])}\n"
|
||||
f"累计确诊:{intcomma(country['quezhen'])}\n"
|
||||
f"累计治愈:{intcomma(country['zhiyu'])}\n"
|
||||
f"死亡:{intcomma(country['siwang'])}\n"
|
||||
"——————————————"
|
||||
#f"更新时间:{country['sys_publishDateTime']}"
|
||||
#时间无法精确到分钟,网页用了js我暂时找不到
|
||||
)
|
||||
else:
|
||||
for city in country['child']:
|
||||
if place==city['name3']:
|
||||
return (
|
||||
f"{place} 疫情数据:\n"
|
||||
"——————————————\n"
|
||||
f"新增病例:{intcomma(city['quezhen_add'])}\n"
|
||||
f"累计确诊:{intcomma(city['quezhen'])}\n"
|
||||
f"累计治愈:{intcomma(city['zhiyu'])}\n"
|
||||
f"死亡:{intcomma(city['siwang'])}\n"
|
||||
"——————————————"
|
||||
|
||||
)
|
||||
return
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
a=get_other_data('英国')
|
||||
print(a)
|
||||
# print(get_other_data('美国'))
|
||||
# print(get_other_data('印度'))
|
||||
# print(get_other_data('伦敦'))
|
||||
Loading…
Reference in New Issue
Block a user