实现使用钉钉查看知乎热榜 / 微博热搜

1. 使用钉钉机器人发送知乎热榜 / 微博热搜内容到钉钉群聊, 钉钉机器人设置在内部打开网页链接,实现在钉钉侧边栏打开知乎/微博,进行浏览;

2. 使用python定时爬取知乎热榜 / 微博热搜内容. 定时发送到群聊; 

以下是代码,微博的完整代码实现跟知乎一样,不再重复贴在这里了

class Zhihu:

    def __init__(self):
        # 设置 头数据
        self.headers = {'scheme': 'https',
                        'accept': 'text/html, application/xhtml+xml, application/xml',
                        'accept-language': 'zh-CN, zh',
                        'user-agent': 'Mozilla/5.0 (Windows NT 10.0 Win64 x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36'
                        }

        self.url = 'https://www.zhihu.com/billboard'

    def billboard(self):
        # get请求 热榜地址
        r = requests.get(url=self.url, headers=self.headers)

        # print(r.text)

        # 解析
        soup = BeautifulSoup(r.text, 'html.parser')

        # 获取页面内的js数据 并转换类型
        data = json.loads(soup.find('script', {'id': 'js-initialData'}).get_text())

        # 解析list类型的数据
        jsonStr = data['initialState']['topstory']['hotList']

        markdown_content = ""
        for index, item in enumerate(jsonStr):
            # ----- 第二版 -----
            titleArea = item['target']['titleArea']['text']
            link = item['target']['link']['url']
            markdown_content += f"<span style='color:black;font-size:14px;'> {index}. [{titleArea}]({link}) </span>\n\n"
            markdown_content += "---\n\n"

        return markdown_content


class WeiBo:
    pass


class DingDing:

    def __init__(self):
        self.webhook = "自己机器人的webhook"
        self.sign = "你自己的签名"
        self.pc_slide = True  # 实现钉钉侧边栏打开网页
        self.ding_robot = DingtalkChatbot(webhook=self.webhook, secret=self.sign, pc_slide=self.pc_slide)
        self.zhi = Zhihu()
        self.wei = WeiBo()

    def send_zhihu(self):
        markdown_content = self.zhi.billboard()
        self.ding_robot.send_markdown(title="知乎热搜", text=markdown_content)

    def send_weibo(self):
        markdown_content = self.wei.hot_band()
        self.ding_robot.send_markdown(title="微博热搜", text=markdown_content)

实现的效果:




有好玩的工具可以一起交流:  https://t.me/+tvCcpXNHWtkwZjg1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值