hostloc新帖提醒-微信版

用的 python3+server 酱的微信提醒接口
需要安装 requests,bs4,pymongo 模块 以及 mongoDB 数据库

hostloc 新帖提醒-微信版

#coding=utf-8
import requests
from bs4 import BeautifulSoup
import pymongo
import time

client = pymongo.MongoClient('localhost',27017)
shujuku = client['rss']
mongo_hostloc = shujuku['loc']

#hostloc 新帖
def get_new_loc():
    response = requests.get('https://www.hostloc.com/forum.php?mod=forumdisplay&fid=45&filter=author&orderby=dateline')
    response.encoding = 'utf-8'
    soup = BeautifulSoup(response.text,'lxml')
    list_data = []
    for i in range(2,12):
        ut = soup.select('#threadlisttableid > tbody > tr > th > a.s.xst')
        title = ut[i].get_text()
        url_loc = 'https://www.hostloc.com/'+ut[i].get('href')
        data = {
            '_id':url_loc[52:58],
            'title': title,
            'url':url_loc
        }
        # 判断是否在数据库中
        if not mongo_hostloc.find_one(data):
            # 数据放进去,list
            list_data.append(data)
        else:
            break
    #此时将数据倒序放入数据库
    list_data.reverse()
    for data in list_data:
        # 插入数据
        mongo_hostloc.insert(data)
        # 发送提醒
        push_vx(data)
    # 清理数据库,保持只有 10 条数据 。
    if mongo_hostloc.count() > 10:
        lists = list(mongo_hostloc.find().limit(mongo_hostloc.count() - 10))
        for data2 in lists:
            mongo_hostloc.remove(data2)

#发送 vx 提醒
def push_vx(data):
    post_data = {
        'text': data['title'],
        'desp': data['url'],
        'sendkey': 'server 酱的 key'
    }
    requests.post('https://pushbear.ftqq.com/sub', data=post_data)
    time.sleep(1)


get_new_loc()

懒得折腾的,直接扫下面二维码订阅,有新帖就会推送。
时间间隔是 5 分钟,0 点-7 点休息,统一早上 7 点发送
hostloc 新帖提醒-微信版


如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:hostloc 新帖提醒-微信版
本文短地址:
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址