Python博客信息爬取-微信消息自动发送

Posted 再出发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python博客信息爬取-微信消息自动发送相关的知识,希望对你有一定的参考价值。

1、环境安装

python -m pip install --upgrade pip

pip install bs4

pip install wxpy

pip install lxml

2、博客爬取及发送

 

from bs4 import BeautifulSoup
from threading import Timer
import requests
import traceback
from wxpy import *


url = ‘‘

nIndex = 6
my_groups = None

def getMsg(nIndex):
    # 获得网址源码
    html = requests.get(url).content
    soup = BeautifulSoup(html, lxml) 

    # print(‘开始抓取‘)
    # title = soup.title.string
    # print(title)

    # areaall = soup.find(id=‘sina_keyword_ad_area2‘).children
    areaall = soup.select(#sina_keyword_ad_area2 p)
    # print(areaall)
    iCount = len(areaall)
    # print(iCount)

    # print(nIndex)
    msg = ""
    if iCount < nIndex:
        return msg,0
    else:        
        msg = areaall[iCount - 1]
        msg = msg.get_text()
        # print(msg)
        return msg,iCount

msgTemp = ‘‘
nNullMsg = 0

def auto_send():
    try:
        global nIndex
        global my_groups
        global msgTemp
        global nNullMsg
        msgContent,nIndexMsg = getMsg(nIndex)
        msgContent = str(msgContent).strip()
        # print(nIndexMsg)
        # nIndex += 1
        # print(msgContent)
        if len(msgContent) != 0 :
            # print(str(nIndex) + ":	" + msgContent)
            # return 
            if msgContent != msgTemp :              
                if my_groups != None and len(my_groups) > 0 :
                    print("发送消息:" + msgContent)
                    my_groups[0].send(msgContent)
                    msgTemp = msgContent
            else:
                print(消息已发送)
        else:
            nNullMsg += 1
            print("没有新消息")
            if nNullMsg == 20 :
                print("恭喜发财,今日推送完毕")
                return

        
        # # 每隔86400秒(1天),发送1次
        t = Timer(3, auto_send)
        t.start()

    except  Exception as e:
        print(e)
        # 你的微信昵称,注意这里不是备注,也不是微信帐号
        my_friend = bot.friends().search(NetUML)[0]
        my_friend.send(u"报告老板,今日份的信息发送失败了!")



if __name__ == "__main__":


    # 初始化机器人,扫码登陆微信,适用于Windows系统
    # 初始化一个机器人对象
    bot = Bot(cache_path=True)

    my_groups = bot.groups().search(广告技术)    

    for group in my_groups:
        print(group)   

    # # Linux系统,执行登陆请调用下面的这句
    # bot = Bot(console_qr=2, cache_path="botoo.pkl")

    # 调用函数进行消息发送
    auto_send()

 

以上是关于Python博客信息爬取-微信消息自动发送的主要内容,如果未能解决你的问题,请参考以下文章

python怎样给微信发送

Python-定时爬取指定城市天气-邮件提醒

Python-wxpy信息爬取发送至微信(小白级)

itchat发送微信文本消息文件等python

python给微信发送消息userName= users[0]['UserName']中出现报错,如何解决?

微信,爬取每日一句,文本,schedule函数定时发送消息