武道の世界でカイゴウとして知られる無名の大学生
原作者: ジャッキー・リー
電子メール: [email protected]
完成時期:2022.12.15
最終編集日:2022.12.17
目次
「WeChatロボット」プログラムの使用手順
まずFlask プロジェクトを開始し、次にXiaomi Ball イントラネット侵入ツールを開始し、最後にWeChat パブリック プラットフォームを構成します。準備ができたら、WeChat パブリック プラットフォームにアクセスします。
WeChat公開プラットフォームに「joke」と入力するとジョークメッセージが得られ、その動作効果を図1に示します。「市の天気」と入力すると市の天気情報が取得されます 実行結果を図2に示します。他のテキストを入力すると、文字列が反転されます。実行時の効果を図 3 に示します。
図1 ジョーク機能
図2 天気チェック機能
WeChatロボットの使用説明書
注: この構成の説明では、他の人が手順に従って操作を完了して実行できることを確認する必要があります。以下の4ステップに限定されるものではなく、言語やプログラムの実情に合わせて削除する必要があります!!!
1 . プロジェクトの指示
- プロジェクト名:WeChatロボット
- 著者: ジャッキー・リー
- プロジェクトバージョン: V 1.0
- バージョン変更:なし
- 完成日:2022.12.15
2. システム環境
Windows 7以降/Linux/MacOS
MySQL5.5以上
Python3.6以上
その他の Python ライブラリ:
リクエスト==2.18.4
lxml==4.2.5
フラスコ==0.12.2
3.準備条件
このプロジェクトを実行するには、次の前提条件が必要です。
◆ WeChat パブリック プラットフォームのサブスクリプション アカウント
◆ Xiaomi ngrok イントラネット侵入ツール (ダウンロードとインストールの手順については本文を参照)
4.操作手順
1 ) 仮想化を開始します。手順は次のとおりです。
a.仮想環境をインストールするには、次のコマンドを使用します。
pip インストール仮想環境
b.仮想環境の作成
wechat_rebotディレクトリに、次のコマンドを使用してvenv仮想環境を作成します。
仮想環境venv
c.次のコマンドを使用して、venv仮想環境を開始します。
venv\script\activate
コードの一部:
def get_weather(keyword):
url = 'https://www.tianqi.com/tianqi/search?keyword=' + keyword
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
}
response = requests.get(url,headers=headers)
tree = etree.HTML(response.text)
# 检测城市天气是否存在
try:
city_name = tree.xpath('//dd[@class="name"]/h2/text()')[0]
except:
content = '没有该城市天气信息,请确认查询格式'
return content
week = tree.xpath('//dd[@class="week"]/text()')[0]
now = tree.xpath('//p[@class="now"]')[0].xpath('string(.)')
temp = tree.xpath('//dd[@class="weather"]/span')[0].xpath('string(.)')
shidu = tree.xpath('//dd[@class="shidu"]/b/text()')
kongqi = tree.xpath('//dd[@class="kongqi"]/h5/text()')[0]
pm = tree.xpath('//dd[@class="kongqi"]/h6/text()')[0]
content = "【{0}】{1}天气\n当前温度:{2}\n今日天气:{3}\n{4}\n{5}\n{6}".format(city_name, week.split('\u3000')[0], now, temp, '\n'.join(shidu),kongqi,pm)
return content
API を通じてクエリしたい地域の天気を取得します。
def get_joke():
url="http://www.qiushibaike.com/text/page/"+ str(randint(1,5))
r = requests.get(url)
tree = etree.HTML(r.text)
contentlist = tree.xpath('//div[@class="content"]/span')
jokes = []
for content in contentlist:
content = content.xpath('string(.)') # string() 函数将所有子文本串联起来,# 必须传递单个节点,而不是节点集。
if '查看全文' in content: # 忽略包含“查看原文”笑话
continue
jokes.append(content)
joke = jokes[randint(1, len(jokes))].strip()
return joke
同様に、ジョークは API を通じて取得され、WeChat 公開アカウントを通じてユーザーに表示されます。
作者が言いたいことがある
ブロガーの発言が役に立ったと感じたら、「フォロー」をクリックしてサポートしてください。今後もそのような問題を更新していきます。
ソース コードが必要な場合は、ブロガーとプライベートでチャットしてください。