1.购买服务器
阿里云:
服务器购买地址
https://t.aliyun.com/U/kcrvBe
若失效,可用地址
https://www.aliyun.com/activity/wuying/dj?source=5176.29345612&userCode=49hts92d
腾讯云:
https://curl.qcloud.com/wJpWmSfU
若失效,可用地址
https://cloud.tencent.com/act/cps/redirect?redirect=2446&cps_key=ad201ee2ef3b771157f72ee5464b1fea&from=console
华为云
https://activity.huaweicloud.com/cps.html?fromacct=64b5cf7cc11b4840bb4ed2ea0b2f4468&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905
2.部署教程
3.代码如下
import json
import os
from urllib import parse
import requests
from dailycheckin import CheckIn
class Baidu(CheckIn):
name = "百度站点提交"
def __init__(self, check_item: dict):
self.check_item = check_item
def url_submit(data_url: str, submit_url: str, times: int = 100) -> str:
site = parse.parse_qs(parse.urlsplit(submit_url).query).get("site")[0]
urls_data = requests.get(url=data_url)
remain = 100000
success_count = 0
error_count = 0
for one in range(times):
try:
response = requests.post(url=submit_url, data=urls_data)
if response.json().get("success"):
remain = response.json().get("remain")
success_count += response.json().get("success")
else:
error_count += 1
except Exception as e:
print(e)
error_count += 1
msg = [
{"name": "站点地址", "value": site},
{"name": "剩余条数", "value": remain},
{"name": "成功条数", "value": success_count},
{"name": "成功次数", "value": times - error_count},
{"name": "失败次数", "value": error_count},
]
return msg
def main(self):
data_url = self.check_item.get("data_url")
submit_url = self.check_item.get("submit_url")
times = int(self.check_item.get("times", 100))
if data_url and submit_url:
msg = self.url_submit(data_url=data_url, submit_url=submit_url, times=times)
else:
msg = {"name": "站点配置", "value": "配置错误"}
msg = "\n".join([f"{one.get('name')}: {one.get('value')}" for one in msg])
return msg
if __name__ == "__main__":
with open(
os.path.join(os.path.dirname(os.path.dirname(__file__)), "config.json"),
encoding="utf-8",
) as f:
datas = json.loads(f.read())
_check_item = datas.get("BAIDU", [])[0]
print(Baidu(check_item=_check_item).main())
解析
这个脚本是自动向百度站点提交数据 URL,模拟在百度站长平台上进行 URL 提交,并返回提交的结果,包括成功提交的次数、失败次数以及剩余可提交的条数。
主要方法
url_submit(data_url: str, submit_url: str, times: int = 100)
:该方法通过获取
data_url
中的数据,并发送POST
请求到submit_url
提交这些 URL。它会提交多次(默认为 100 次),并统计每次提交的成功与失败情况。
返回站点信息(如站点地址、剩余条数、成功提交的条数、成功次数、失败次数)。
main()
:该方法是脚本的入口。它从配置中获取
data_url
和submit_url
,并调用url_submit
方法来提交 URL。最后格式化并返回提交的结果信息,包括成功和失败的统计。
该脚本的核心功能是通过调用百度站长平台的接口提交网站 URL,自动执行 URL 提交任务,返回提交结果。如果配置错误,返回错误提示。通过多次提交,统计成功与失败的情况,并显示剩余可提交的 URL 数量。
注意:
本文部分变量已做脱敏处理,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。技术层面需要提供帮助,可以通过打赏的方式进行探讨。
没有评论:
发表评论