Python——轻松拥有自己的自动化早报!

看了大牛(cdsn账号:coder-pig)的文章自己写前台后台每天去新闻网站爬取要闻生成早报,我也想要这样的早报!!!
在这里插入图片描述
但是我不会写前台后台,甚至连大牛的教程都看不懂,只会点刚学的python代码,怎么办?只能投机倒把了。。

思路:

1.监控公共号的消息,他会在每天9:45左右发抠腚早报
2.如果有“早报速读”字样,开始爬取链接里的早报内容
3.转发到指定群

话不多说,去写代码了。。
一阵瞎J8分析后。。。这是公共号消息的msg

{'MsgId': '3443134733782715912', 'FromUserName': '@7a5edf4e2a6be986154727c83bba642e', 'ToUserName': '@6ec4c9e8790be02f8fcbad989d418f74', 'MsgType': 49, 'Content': '<?xml version="1.0"?>\n<msg>\n\t<appmsg appid="" sdkver="0">\n\t\t<title>『 抠腚早报速读』| 第190301期</title>\n\t\t<des>要闻速读\n\n1、星巴克否认猫爪杯存在饥饿营销:今天一次性发售3000个。\n\n2、 体坛联播|中超冬季转会耗资16.5亿,武磊身价创历史纪录。\n\n3、罗永浩退出聊天宝股东行列,王威成公司实际控制人。</des>\n\t\t<username />\n\t\t<action>view</action>\n\t\t<type>5</type>\n\t\t<showtype>0</showtype>\n\t\t<content />\n\t\t<url>http://mp.weixin.qq.com/s?__biz=MzUyNzQ0ODIzNg==&amp;mid=2247484399&amp;idx=1&amp;sn=7a559f06a02560b713616a4da085b4f1&amp;chksm=fa7e222ccd09ab3ab8e66e7742c8e134bdfbb60d35ab74f663949de3a3337428ea52e26ed0ab&amp;scene=0&amp;xtrack=1#rd</url>\n\t\t<lowurl />\n\t\t<dataurl />\n\t\t<lowdataurl />\n\t\t<contentattr>0</contentattr>\n\t\t<streamvideo>\n\t\t\t<streamvideourl />\n\t\t\t<streamvideototaltime>0</streamvideototaltime>\n\t\t\t<streamvideotitle />\n\t\t\t<streamvideowording />\n\t\t\t<streamvideoweburl />\n\t\t\t<streamvideothumburl />\n\t\t\t<streamvideoaduxinfo />\n\t\t\t<streamvideopublishid />\n\t\t</streamvideo>\n\t\t<canvasPageItem>\n\t\t\t<canvasPageXml><![CDATA[]]></canvasPageXml>\n\t\t</canvasPageItem>\n\t\t<appattach>\n\t\t\t<attachid />\n\t\t\t<cdnthumburl>305b0201000454305202010002041f57de3702032df08e02045796bc7702045c7932fb042d6175706170706d73675f346463616533356362323634313466665f313535313434363737383534365f323432330204010800030201000400</cdnthumburl>\n\t\t\t<cdnthumbmd5>c09a39d97fc3aac412a6560851dc810c</cdnthumbmd5>\n\t\t\t<cdnthumblength>31329</cdnthumblength>\n\t\t\t<cdnthumbheight>120</cdnthumbheight>\n\t\t\t<cdnthumbwidth>120</cdnthumbwidth>\n\t\t\t<cdnthumbaeskey>558d07af779d1d633bcf70ace06733c1</cdnthumbaeskey>\n\t\t\t<aeskey>558d07af779d1d633bcf70ace06733c1</aeskey>\n\t\t\t<encryver>1</encryver>\n\t\t\t<fileext />\n\t\t\t<islargefilemsg>0</islargefilemsg>\n\t\t</appattach>\n\t\t<extinfo />\n\t\t<androidsource>3</androidsource>\n\t\t<sourceusername></sourceusername>\n\t\t<sourcedisplayname>抠腚男孩</sourcedisplayname>\n\t\t<commenturl />\n\t\t<thumburl>http://mmbiz.qpic.cn/mmbiz_jpg/GoRPyTxk6kAhvBW4gRDqicO1WhPiaibl0oIzINOuDEibDZcrheKRyTYFvS8OGbJSicDyumUFpzSGibsgQHXOSPNQBe1w/640?wx_fmt=jpeg&amp;wxtype=jpeg&amp;wxfrom=0</thumburl>\n\t\t<mediatagname />\n\t\t<messageaction><![CDATA[]]></messageaction>\n\t\t<messageext><![CDATA[]]></messageext>\n\t\t<emoticongift>\n\t\t\t<packageflag>0</packageflag>\n\t\t\t<packageid />\n\t\t</emoticongift>\n\t\t<emoticonshared>\n\t\t\t<packageflag>0</packageflag>\n\t\t\t<packageid />\n\t\t</emoticonshared>\n\t\t<designershared>\n\t\t\t<designeruin>0</designeruin>\n\t\t\t<designername>null</designername>\n\t\t\t<designerrediretcturl>null</designerrediretcturl>\n\t\t</designershared>\n\t\t<emotionpageshared>\n\t\t\t<tid>0</tid>\n\t\t\t<title>null</title>\n\t\t\t<desc>null</desc>\n\t\t\t<iconUrl>null</iconUrl>\n\t\t\t<secondUrl>null</secondUrl>\n\t\t\t<pageType>0</pageType>\n\t\t</emotionpageshared>\n\t\t<webviewshared>\n\t\t\t<shareUrlOriginal />\n\t\t\t<shareUrlOpen />\n\t\t\t<jsAppId />\n\t\t\t<publisherId />\n\t\t</webviewshared>\n\t\t<template_id />\n\t\t<md5>c09a39d97fc3aac412a6560851dc810c</md5>\n\t\t<weappinfo>\n\t\t\t<username />\n\t\t\t<appid />\n\t\t\t<appservicetype>0</appservicetype>\n\t\t\t<videopageinfo>\n\t\t\t\t<thumbwidth>120</thumbwidth>\n\t\t\t\t<thumbheight>120</thumbheight>\n\t\t\t\t<fromopensdk>0</fromopensdk>\n\t\t\t</videopageinfo>\n\t\t</weappinfo>\n\t\t<statextstr />\n\t\t<mmreadershare>\n\t\t\t<itemshowtype>0</itemshowtype>\n\t\t</mmreadershare>\n\t\t<websearch>\n\t\t\t<rec_category>0</rec_category>\n\t\t\t<channelId>0</channelId>\n\t\t</websearch>\n\t</appmsg>\n\t<fromusername></fromusername>\n\t<scene>0</scene>\n\t<appinfo>\n\t\t<version>1</version>\n\t\t<appname></appname>\n\t</appinfo>\n\t<commenturl></commenturl>\n</msg>\n', 'Status': 3, 'ImgStatus': 2, 'CreateTime': 1551446780, 'VoiceLength': 0, 'PlayLength': 0, 'FileName': '『抠腚早报速读』| 第190301期', 'FileSize': '', 'MediaId': '', 'Url': 'http://mp.weixin.qq.com/s?__biz=MzUyNzQ0ODIzNg==&amp;mid=2247484399&amp;idx=1&amp;sn=7a559f06a02560b713616a4da085b4f1&amp;chksm=fa7e222ccd09ab3ab8e66e7742c8e134bdfbb60d35ab74f663949de3a3337428ea52e26ed0ab&amp;scene=0&amp;xtrack=1#rd', 'AppMsgType': 5, 'StatusNotifyCode': 0, 'StatusNotifyUserName': '', 'RecommendInfo': {'UserName': '', 'NickName': '', 'QQNum': 0, 'Province': '', 'City': '', 'Content': '', 'Signature': '', 'Alias': '', 'Scene': 0, 'VerifyFlag': 0, 'AttrStatus': 0, 'Sex': 0, 'Ticket': '', 'OpCode': 0}, 'ForwardFlag': 0, 'AppInfo': {'AppID': '', 'Type': 0}, 'HasProductId': 0, 'Ticket': '', 'ImgHeight': 0, 'ImgWidth': 0, 'SubMsgType': 0, 'NewMsgId': 3443134733782715912, 'OriContent': '', 'EncryFileName': '%E3%80%8E%E6%8A%A0%E8%85%9A%E6%97%A9%E6%8A%A5%E9%80%9F%E8%AF%BB%E3%80%8F%7C%20%E7%AC%AC190301%E6%9C%9F', 'User': <User: {'MemberList': <ContactList: []>, 'Uin': 0, 'UserName': '@7a5edf4e2a6be986154727c83bba642e', 'NickName': 'xxx', 'HeadImgUrl': '/cgi-bin/mmwebwx-bin/webwxgeticon?seq=629476004&username=@7a5edf4e2a6be986154727c83bba642e&skey=@crypt_22fa8655_9511ed835567f694c3466c82024905da', 'ContactFlag': 1, 'MemberCount': 0, 'RemarkName': '', 'HideInputBarFlag': 0, 'Sex': 1, 'Signature': '', 'VerifyFlag': 0, 'OwnerUin': 0, 'PYInitial': 'ZYFDXXJ', 'PYQuanPin': 'zhongyinfudengxuxiaoji', 'RemarkPYInitial': '', 'RemarkPYQuanPin': '', 'StarFriend': 0, 'AppAccountFlag': 0, 'Statues': 0, 'AttrStatus': 209019, 'Province': '山东', 'City': '济宁', 'Alias': '', 'SnsFlag': 17, 'UniFriend': 0, 'DisplayName': '', 'ChatRoomId': 0, 'KeyWord': 'qq1', 'EncryChatRoomId': '', 'IsOwner': 0}>, 'Type': 'Sharing', 'Text': '『抠腚早报速读』| 第190301期'}

写个正则抓吧

万能正则公式。。。<url>(.*?)</url>

得到链接:

http://mp.weixin.qq.com/s?__biz=MzUyNzQ0ODIzNg==&amp;mid=2247484399&amp;idx=1&amp;sn=7a559f06a02560b713616a4da085b4f1&amp;chksm=fa7e222ccd09ab3ab8e66e7742c8e134bdfbb60d35ab74f663949de3a3337428ea52e26ed0ab&amp;scene=0&amp;xtrack=1#rd'

然后requests.get网页,再用正则提取出需要的内容

提取正文的正则表达式<p>(\d\d?、.*?)</p>

消息整合下,最后发送到指定的群里

最终代码如下

#公共号消息监听,转发早报
@itchat.msg_register(itchat.content.SHARING, isMpChat=True)
def reply_msg(msg):
    #
    #print(msg)
    msg_Text=msg['Text']
    if '早报速读' in msg_Text:
        #print(True)
    
        group_list=[u'学习园地',u'测试呀',u'和我一起练琴吧']#在此添加想要发送的群名称!
        msg_from_user = msg['User']['NickName']
        msg_content=msg['Content']
        msg_time_rec = time.strftime("%Y%m%d", time.localtime())
        url=re.search("<url>(.*?)</url>", msg['Content']).group(1)
        if url.startswith('<!'):
            url=re.search('<!\[CDATA\[(.*?)\]\]>',url).group(1)
        
        print(url)
        req=r.get(url)
        new=[]
        new=re.findall("<p>(\d\d?、.*?)</p>",req.text)
        news=''
        for i in new:
            news+=i+'\n'  
      
        news='『大喵晨报』|第'+msg_time_rec+'期\n'+news[:len(news)-1]
        #print(news) 再把news发送到制定群即可
        #itchat.send_msg(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())+'转发晨报成功!',toUserName="filehelper")#发送到文件助手的log信息
        for group in group_list:
            chat=itchat.search_chatrooms(name=group)
            if len(chat)>0:
                itchat.send(news, toUserName=chat[0]['UserName'])
                itchat.send_msg(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())+"#"+group+'#转发晨报成功!',toUserName="filehelper")#发送到文件助手的log信息

猜你喜欢

转载自blog.csdn.net/weixin_43087443/article/details/88068060
今日推荐