日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

基于WxPusher实现微信消息推送

發(fā)布時(shí)間:2024/3/26 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于WxPusher实现微信消息推送 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? ? ? 最近找到一個(gè)公眾號(hào)(WxPusher消息推送平臺(tái)),提供了api接口和開(kāi)發(fā)文檔,可以借助python程序?qū)崿F(xiàn)每日的消息推送,通過(guò)發(fā)送post請(qǐng)求,用戶只需要掃描二維碼就能實(shí)現(xiàn)推送的功能,并且支持群發(fā)。詳細(xì)如下:

? ? ? ? 這里將每日的天氣和一些文案信息爬取出來(lái)整合成字符串作為信息加入到待推送的信息中。

? ? ? ? 1、將要爬取的天氣等信息整理成字符并封裝成函數(shù)作為返回值返回,方便后面調(diào)用。

# 獲取信息 def get_info():url1 = '' # 要爬取的天氣預(yù)報(bào)網(wǎng)站(此處抹去)url2 = '' # 文案網(wǎng)站(此處抹去)header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) ''AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'}response2 = requests.get(url2, headers=header) # 發(fā)送網(wǎng)絡(luò)請(qǐng)求response2.encoding = 'utf-8' # 編碼html2 = etree.HTML(response2.text) # 解析html字符串global numberdiv_all2s = html2.xpath('.//div[@class="mbox fl"]//div[@class="content"]/p[{page}]//text()'.format(page=number))div_all2 = processing(div_all2s)copywritting = div_all2response1 = requests.get(url1,headers=header) # 發(fā)送網(wǎng)絡(luò)請(qǐng)求response1.encoding = 'utf-8' # 編碼html1 = etree.HTML(response1.text) # 解析html字符串div_all1 = html1.xpath('//dl[@class="weather_info"]')for div in div_all1:names = div.xpath('.//a/@title')name = processing(names)areas = div.xpath('.//dd[@class="name"]//h1/text()')area = processing(areas)name = '今日' + nametimes=div.xpath('.//dd[@class="week"]/text()')time=processing(times)brief_times = time.split('日')[0]brief_time = processing(brief_times)Ts = div.xpath('.//dd[@class="weather"]//span//text()')T = processing(Ts)humid_1 = processing(div.xpath('.//dd[@class="shidu"]/b[1]//text()'))humid_2 = processing(div.xpath('.//dd[@class="shidu"]/b[2]//text()'))humid_3 = processing(div.xpath('.//dd[@class="shidu"]/b[3]//text()'))humid = humid_1 + '\n' + humid_2 + '\n' + humid_3air_qualitys = div.xpath('.//dd[@class="kongqi"]/h5/text()')air_quality = processing(air_qualitys)pms = div.xpath('.//dd[@class="kongqi"]/h6/text()')pm = processing(pms)suns = div.xpath('.//dd[@class="kongqi"]/span/text()')sun = processing(suns)cartoon = """へ  /|/\7    ∠_// │   / /│ Z _,< /   /`ヽ│     ヽ   /  〉Y     `  /  /イ● 、 ●  ??〈  /()  へ    | \〈>ー 、_  ィ  │ /// へ   / ノ<| \\ヽ_ノ  (_/  │//7       |/>―r ̄ ̄`ー―_6"""weather_condition = (name + ': \n' +'時(shí)間: ' + time + '\n\n' + '溫度: ' + T + '\n\n' + humid + '\n' + air_quality + '\n'+ pm + '\n' + sun + '\n\n' + cartoon)global summarysummary = brief_time + '日' + area + ':' + '\n\n' + ' ! ' + T + ' !' + '\n\n' + sun + '\n\n' + copywrittingreturn (weather_condition)

? ? ? ? 2、發(fā)送post請(qǐng)求,將要推送的信息傳遞出去。

url='http://wxpusher.zjiecode.com/api/send/message'headers = {"content-type":"application/json"}dat={"appToken":"AT_7zKfBalcmZEPARaha0guEr5crjsrVOZh","content":get_info(), # 調(diào)用函數(shù),獲取推送的內(nèi)容"summary":summary,#消息摘要,顯示在微信聊天頁(yè)面或者模版消息卡片上,限制長(zhǎng)度100,可以不傳,不傳默認(rèn)截取content前面的內(nèi)容。"contentType":1,#內(nèi)容類型 1表示文字 2表示html(只發(fā)送body標(biāo)簽內(nèi)部的數(shù)據(jù)即可,不包括body標(biāo)簽) 3表示markdown"topicIds":[7826 #發(fā)送目標(biāo)的topicId,是一個(gè)數(shù)組!!!,也就是群發(fā),使用uids單發(fā)的時(shí)候, 可以不傳。],"uids":[#'UID_GOgrMd1Ad1FEEpRdbY41jl9PGY1x','UID_hBw1gAtLkne1INAQjyy2qS9iyO8o'],"url":"https://www.csdn.net/", #原文鏈接,可選參數(shù)#"verifyPay": false #是否驗(yàn)證訂閱時(shí)間,true表示只推送給付費(fèi)訂閱用戶,false表示推送的時(shí)候,不驗(yàn)證付費(fèi),不驗(yàn)證用戶訂閱到期時(shí)間,用戶訂閱過(guò)期了,也能收到。 } #post請(qǐng)求,發(fā)送的數(shù)據(jù)必須放在字典中,通過(guò)data參數(shù)傳遞出去 resp=requests.post(url,json=dat,headers=headers)

? ? ? ? ? 3、實(shí)現(xiàn)效果:

? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ?

?

????????這里附上WxPusher的官方開(kāi)發(fā)文檔,上面有詳細(xì)操作,有興趣的小伙伴可以嘗試,創(chuàng)作不易,希望大家多多支持。?

WxPusher 開(kāi)發(fā)文檔:https://wxpusher.zjiecode.com/docs/#/
?

總結(jié)

以上是生活随笔為你收集整理的基于WxPusher实现微信消息推送的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。