【Python】任推邦近30日推广数据采集+推送

news2024/11/16 17:28:52

不知道任推邦是啥的,可以查看之前的文章:夸克网盘扩容N次20T的方法 

本文主要是针对夸克网盘的,其他项目有的没有提供接口,如果有也自行抓包,参考修改一下就行了。主要是将接口返回内容以html表格形式进行推送,可以极其清晰的看出你的数据有多惨淡哈哈。

采集范围:近30条

效果图:

4a22d80628ad016fb8244cbc6982386e.png

刚好最近切换推送平台,也当做演示如何写推送代码吧。

以下是PushPlus推送的完整代码:

import requests,json,time


push_token = '' #pushplus的token
push_title = '任推邦' #推送标题
push_content = '偶尔敲代码' #推送内容
tgm = '100XXXXXXXXX'#夸克网盘推广码,其余的接口不一样


def pushplus_send():
    data = {
        "token": push_token,
        "title": push_title,
        "content": push_content,
        "template": "html"}
    body = json.dumps(data).encode(encoding='utf-8')
    response = requests.post('http://www.pushplus.plus/send', data=body)
    print(response.text)


url = "https://dt.bd.cn/main/quark_list"
headers = {
        "Host": "dt.bd.cn",
        "Connection": "keep-alive",
        "Content-Length": "15",
        "Accept": "*/*",
        "X-Requested-With": "XMLHttpRequest",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 NetType/WIFI MicroMessenger/7.0.20.1781(0x6700143B) WindowsWechat(0x6309092b) XWEB/9105 Flue",
        "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
        "Origin": "https://dt.bd.cn",
        "Sec-Fetch-Site": "same-origin",
        "Sec-Fetch-Mode": "cors",
        "Sec-Fetch-Dest": "empty",
        "Referer": "https://dt.bd.cn/main/quark_list",
        "Accept-Encoding": "gzip, deflate, br",
        "Accept-Language": "zh-CN,zh;q=0.9"}
body = f'bs={tgm}'
response = requests.post(url=url, data=body, headers=headers)
#print(response.text)
try:
        aaa = json.loads(response.text)
        if aaa['msg'] == 'ok' :
            print(f'获取成功')
            i = 0
            html_code = "<table>\n<tr>\n<th>日期</th>\n<th>手机拉新 </th>\n<th>PC拉新 </th>\n<th>转存数 </th>\n<th>会员分成 </th>\n</tr>\n"
            for list in aaa['data']['list']:
                #print(list['date_str'],list['mobile_count'],list['pc_count'],list['store_count'],list['mobile_fencheng'])
                html_code += "<tr>\n"
                html_code += f"<td style='border: 1px solid black;'>{list['date_str']}   </td>\n"
                html_code += f"<td style='border: 1px solid black;'>{list['mobile_count']}</td>\n"
                html_code += f"<td style='border: 1px solid black;'>{list['pc_count']}</td>\n"
                html_code += f"<td style='border: 1px solid black;'>{list['store_count']}</td>\n"
                html_code += f"<td style='border: 1px solid black;'>{list['mobile_fencheng']}</td>\n"
                html_code += "</tr>\n"


                i = i + 1
                if i >30 :# 取30条 {"code":999,"msg":"发送内容过大,不能超过2万字","data":null}
                    break


            html_code += "</table>"
            push_content=html_code
            pushplus_send()
        else:
            print(f'获取失败')
except Exception:
        print(response.text)

以下是WxPusher推送的完整代码:

import requests,json,time


push_token = 'UID_RXXXXX' #wxpusher的UID
push_title = '任推邦' #推送标题
push_content = '偶尔敲代码' #推送内容
tgm = '1000XXXXXX'#夸克网盘推广码,其余的接口不一样
wxapp_token = 'AT_XXXXXX' #wxpusher的APPTOKEN


def wxpusher_send():
    headers = {'Content-Type': 'application/json;charset=utf-8'}
    data = {
            "appToken": wxapp_token,
            "uids": [f"{push_token}"],
            "topicIds": [],
            "summary": push_title,
            "content": push_content,
            "contentType": 2,
            "verifyPay": False
        }
    json_data = json.dumps(data)
    response = requests.post('https://wxpusher.zjiecode.com/api/send/message', headers=headers, data=json_data)
    print(response.text)


url = "https://dt.bd.cn/main/quark_list"
headers = {
        "Host": "dt.bd.cn",
        "Connection": "keep-alive",
        "Content-Length": "15",
        "Accept": "*/*",
        "X-Requested-With": "XMLHttpRequest",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 NetType/WIFI MicroMessenger/7.0.20.1781(0x6700143B) WindowsWechat(0x6309092b) XWEB/9105 Flue",
        "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
        "Origin": "https://dt.bd.cn",
        "Sec-Fetch-Site": "same-origin",
        "Sec-Fetch-Mode": "cors",
        "Sec-Fetch-Dest": "empty",
        "Referer": "https://dt.bd.cn/main/quark_list",
        "Accept-Encoding": "gzip, deflate, br",
        "Accept-Language": "zh-CN,zh;q=0.9"}
body = f'bs={tgm}'
response = requests.post(url=url, data=body, headers=headers)
#print(response.text)
try:
        aaa = json.loads(response.text)
        if aaa['msg'] == 'ok' :
            print(f'获取成功')
            i = 0
            html_code = "<table>\n<tr>\n<th>日期</th>\n<th>手机拉新 </th>\n<th>PC拉新 </th>\n<th>转存数 </th>\n<th>会员分成 </th>\n</tr>\n"
            for list in aaa['data']['list']:
                #print(list['date_str'],list['mobile_count'],list['pc_count'],list['store_count'],list['mobile_fencheng'])
                html_code += "<tr>\n"
                html_code += f"<td style='border: 1px solid black;'>{list['date_str']}   </td>\n"
                html_code += f"<td style='border: 1px solid black;'>{list['mobile_count']}</td>\n"
                html_code += f"<td style='border: 1px solid black;'>{list['pc_count']}</td>\n"
                html_code += f"<td style='border: 1px solid black;'>{list['store_count']}</td>\n"
                html_code += f"<td style='border: 1px solid black;'>{list['mobile_fencheng']}</td>\n"
                html_code += "</tr>\n"


                i = i + 1
                if i >30 :# 取30条 {"code":999,"msg":"发送内容过大,不能超过2万字","data":null}
                    break


            html_code += "</table>"
            #print(html_code)
            push_content=html_code
            wxpusher_send()
        else:
            print(f'获取失败')
except Exception:
        print(response.text)

都看到这了,我插个广告:推文第二条是好评100%的推广工具~

- End -

更多精彩文章

点击下方名片关注【偶尔敲代码】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1975432.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构-二叉树(java实现)及相关的oj题

文章目录 树树的定义&#xff1a;关于树的相关概念&#xff1a;树的实际实现形式&#xff08;表现形式&#xff09;树的应用 二叉树二叉树的概念特殊的二叉树二叉树的性质&#xff1a;二叉树的存储实现&#xff1a;二叉树的模拟实现&#xff1a;实现的成员方法与属性&#xff1…

CSS3中动画的制作案例

直接上代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>-webkit-keyframes expand {0% {border-width: 4px;}50% {border-width: 12px;}100% {border-width: 4px;height: 130px;width: 15…

C#对象和类型

属性、方法、字段 字段和属性的区别 在C#中&#xff0c;字段&#xff08;fields&#xff09;和属性&#xff08;properties&#xff09;都是类的成员&#xff0c;它们提供了类存储数据的方式&#xff0c;但它们在用途和功能上有着明显的区别。 字段 字段通常用来存储类…

组合优化与凸优化相关算法 Julia实现

线性规划 方法有单纯形法&#xff08;简单&#xff0c;非多项式&#xff09;&#xff0c;椭圆法&#xff08;复杂&#xff0c;多项式&#xff0c;仅有理论价值&#xff09;&#xff0c;内点法&#xff08;非多项式&#xff0c;实际效率高&#xff09;。 以例子说明&#xff0…

C++第五篇 类和对象(下) 初始化列表

目录 1.再探构造函数 2.类型转换 3.static成员 4.友元 friiend 1.再探构造函数 (1).之前我们实现构造函数时&#xff0c;初始化成员变量主要使用函数体内赋值&#xff0c;构造函数初始化还有一种方式&#xff0c;就是初始化列表&#xff0c;初始化列表的使用方式是以一个冒…

[Spring] SpringBoot统一功能处理与图书管理系统

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

分销商城小程序系统如何开发

uni-app框架&#xff1a;使用Vue.js开发跨平台应用的前端框架&#xff0c;编写一套代码&#xff0c;可编译到Android、小程序等平台。 框架支持:springboot/Ssm/thinkphp/django/flask/express均支持 前端开发:vue.js 可选语言&#xff1a;pythonjavanode.jsphp均支…

EDI是什么:EDI系统功能介绍

EDI全称Electronic Data Interchange&#xff0c;也被称为“无纸化贸易”。EDI实现企业间&#xff08;B2B&#xff09;自动化通信&#xff0c;帮助贸易伙伴和组织完成更多的工作、加快物流时间并消除人为错误。 EDI遵从国际报文标准&#xff0c;使得业务数据按照结构化或是标准…

音频文件怎么转换成mp3?这5种方法快速转换

音频文件格式繁多&#xff0c;从WAV到FLAC&#xff0c;从AAC到OGG&#xff0c;每一种都有其独特的优势和应用场景。但当我们需要将音频文件分享给朋友、上传到网络平台或进行跨设备播放时&#xff0c;MP3格式因其广泛的兼容性和较小的文件体积&#xff0c;往往成为首选。给大家…

「字符串」实现Trie(字典树|前缀树)的功能 / 手撕数据结构(C++)

概述 在浏览器搜索栏里输入几个字&#xff0c;就弹出了以你的输入为开头的一系列句子。浏览器是怎么知道你接下来要输什么的&#xff1f; 来看看字典树干了什么。 字典树是一种高效记录字符串和查找字符串的数据结构。它以每个字符作为一个节点对字符串进行分割记录&#xff0c…

48 集合应用案例

编写代码时除了要准确地实现功能之外&#xff0c;还要考虑代码的优化&#xff0c;尽量找到一种更快、更好的方法实现预定功能。Python 字典和集合都使用哈希表来存储元素&#xff0c;元素查找速度非常快&#xff0c;关键字 in 作用于字典和集合时比作用于列表要快得多。 impor…

【数据结构之单链表的实现(不带头)】

1.单链表 1.1概念与结构 链表是一种物理存储结构上非连续&#xff0c;非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针连接次序实现的。 可以用下图便于理解 节&#xff08;结&#xff09;点&#xff1a; 与顺序表不同的是&#xff0c;链表里面的每节“车…

三十种未授权访问漏洞合集

未授权访问漏洞介绍 未授权访问可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷&#xff0c;导致其他用户可以直接访问&#xff0c;从而引发重要权限可被操作、数据库、网站目录等敏感信息泄露。---->目录遍历 目前主要存在未授权访问漏洞的有:NFS服务&a…

百度飞桨 OCR识别

百度飞桨 OCR识别代码 import warnings import time import cv2 as cv import paddlehub as hub # Load the image img cv.imread("1.jpg") height, width, channels img.shape imglist [img] ocr hub.Module(name"ch_pp-ocrv3", enable_mkldnnTrue) …

从Axure入门,开始了解产品

​不少想要求职产品经理的小伙伴在问一个问题&#xff1a;我是一个纯小白&#xff0c;一点基础都没有&#xff0c;我该如何入门产品呢&#xff1f;当然想要入门产品&#xff0c;很多人都有自己的一套方法&#xff0c;这里推荐其中的一种方法&#xff0c;从原型工具&#xff0c;…

ModuleNotFoundError: No Module Named openai

题意&#xff1a;Python 无法在环境中找到名为 openai 的模块 问题背景&#xff1a; import requests from bs4 import BeautifulSoup import openai #write each line of nuclear.txt to a list with open(nuclear.txt, r) as f:lines f.readlines()#remove the newline cha…

Spring源码-ClassPathXmlApplicationContext的refresh()都做了什么?

AbstractApplicationContext的refresh方法 /*** 用给定的父类创建一个新的ClassPathXmlApplicationContext* Create a new ClassPathXmlApplicationContext with the given parent,* 从给定的XML文件加载定义* loading the definitions from the given XML files.* param confi…

UE5 从零开始制作跟随的大鹅

文章目录 二、绑定骨骼三、创建 ControlRig四、创建动画五、创建动画蓝图六、自动寻路七、生成 goose八、碰撞 和 Physics Asset缺点 # 一、下载模型 首先我们需要下载一个静态网格体&#xff0c;这里我们可以从 Sketchfab 中下载&#xff1a;Goose Low Poly - Download Free …

十条线路:畅享张北草原天路玩法

2024年6月6日&#xff0c;张家口市政府新闻办召开新闻发布会&#xff0c;发布10条草原天路精品旅游线路&#xff0c;同时就草原天路今年改造提升重点工作进行介绍。其中&#xff0c;10条精品旅游线路包含5条玩转天路经典线路和5条穿越天路新玩法线路。 1、寻“天路之巅”网红打…

Java并发编程 使用锁和状态位来控制线程的执行顺序

Java线程生命周期的认识 对于线程的生命周期&#xff0c;在Java和操作系统中&#xff0c;在概念上有一点小小的不同。 在操作系统层面上&#xff0c;线程的生命周期如下&#xff1a; 1.新建 2.就绪 3.阻塞 4.运行 5.终止 而在Java层面上&#xff0c;则把线程的阻塞状态又划分…