测试基于Python将某网前10条信息获取并实现自动发送QQ群

Posted MASCOT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试基于Python将某网前10条信息获取并实现自动发送QQ群相关的知识,希望对你有一定的参考价值。

1.准备工作

此次测试基于python3,需要安装qqbot、bs4、requests库。

qqbot项目地址:https://github.com/pandolia/qqbot.git

pip qqbot 
pip install bs4
pip install requests

#更改qqbot配置文件

以下配置是为了通过邮件发送授权二维码完成授权操作。

 

2.代码部分

#coding:UTF-8
import qqbot
import requests
import bs4
import time

##SentQQ
class QQ(object):
    def __init__(self):
        self.qqnumber = \'1234567890\'
        self.message = \'信息自动推送功能test!!!\'
        self.groupname = [\'交流群\']
        self.bot = qqbot._bot

    def sendMsgToGroup(self,msg,group,bot):
        for group in group:
            bg=bot.List(\'group\', group)
            if bg is not None:
                bot.SendTo(bg[0],msg)

    def main(self):
        self.bot.Login([\'-q\', self.qqnumber])
        self.sendMsgToGroup(self.message,self.groupname,self.bot)

##爬取数据
class GetData(object):
    def __init__(self):
        self.rooturl = \'https://www.xxxx.com\'
        self.url = self.rooturl + \'/ah/20?lang=1\'
        self.headers = {\'User-Agent\': \'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36\'}

    def getdata(self):
        response = requests.get(self.url,headers=self.headers)
        if int(response.status_code) == 200:
            htmldata = bs4.BeautifulSoup(response.text,\'html.parser\')
            blognumber = 0
            result = "[%s] 技术文章推荐: \\n \\n" %(time.strftime(\'%Y-%m-%d\',time.localtime(time.time())))
            for k in htmldata.find_all(\'a\'):
                if blognumber <= 10:
                    try:
                        if k[\'title\'] != \'\':
                            blogurl = self.rooturl + str(k[\'href\'])
                            blogtitle = str(k[\'title\'])
                            bloginfo = "%d.[%s] \\n  %s \\n" %(blognumber,blogtitle,blogurl)
                            result = result + bloginfo
                            blognumber += 1
                    except:
                        pass

        return result


if __name__ == \'__main__\':
    server = QQ()
    server.message = GetData().getdata()
    server.main()

3.添加计划任务

00 07 * * * python3 /root/bin/autoqq.py

 

4.效果图

 

以上是关于测试基于Python将某网前10条信息获取并实现自动发送QQ群的主要内容,如果未能解决你的问题,请参考以下文章

php 导出excel 10万数据

为某网课准备的Topics

手把手教你利用Python网络爬虫获取APP推广信息

团队-Python 爬取豆瓣电影top250-需求分析

Python使用WMI模块获取Windows系统的硬件信息,并使用pyinstaller库编译打包成exe的可执行文件

关于文件上传下载以及其他进度条的实现