2020-12-06 11:17:31 +08:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import json
|
|
|
|
import os
|
|
|
|
from urllib import parse
|
|
|
|
|
|
|
|
import requests
|
|
|
|
|
|
|
|
|
|
|
|
class BaiduUrlSubmit:
|
2021-03-05 01:04:02 +08:00
|
|
|
def __init__(self, check_item: dict):
|
|
|
|
self.check_item = check_item
|
2020-12-06 11:17:31 +08:00
|
|
|
|
2020-12-07 13:29:36 +08:00
|
|
|
@staticmethod
|
|
|
|
def url_submit(data_url: str, submit_url: str, times: int = 100) -> str:
|
2020-12-06 11:17:31 +08:00
|
|
|
site = parse.parse_qs(parse.urlsplit(submit_url).query).get("site")[0]
|
|
|
|
urls_data = requests.get(url=data_url)
|
|
|
|
remian = 100000
|
|
|
|
success_count = 0
|
|
|
|
error_count = 0
|
|
|
|
for one in range(times):
|
2020-12-10 13:09:31 +08:00
|
|
|
try:
|
|
|
|
response = requests.post(url=submit_url, data=urls_data)
|
|
|
|
if response.json().get("success"):
|
|
|
|
remian = response.json().get("remain")
|
|
|
|
success_count += response.json().get("success")
|
|
|
|
else:
|
|
|
|
error_count += 1
|
|
|
|
except Exception as e:
|
2021-01-22 22:18:57 +08:00
|
|
|
print(e)
|
2020-12-06 11:17:31 +08:00
|
|
|
error_count += 1
|
|
|
|
msg = (
|
2021-03-05 01:04:02 +08:00
|
|
|
f"站点地址: {site}\n当天剩余的可推送 url 条数: {remian}\n成功推送的 url 条数: {success_count}\n"
|
2020-12-06 11:17:31 +08:00
|
|
|
f"成功推送的 url 次数: {times - error_count}\n失败推送的 url 次数: {error_count}"
|
|
|
|
)
|
|
|
|
return msg
|
|
|
|
|
|
|
|
def main(self):
|
2021-03-05 01:04:02 +08:00
|
|
|
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 = "配置错误"
|
|
|
|
return msg
|
2020-12-06 11:17:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
2021-02-23 22:46:29 +08:00
|
|
|
with open(
|
|
|
|
os.path.join(os.path.dirname(os.path.dirname(__file__)), "config/config.json"), "r", encoding="utf-8"
|
|
|
|
) as f:
|
2020-12-15 12:48:50 +08:00
|
|
|
datas = json.loads(f.read())
|
2021-03-05 01:04:02 +08:00
|
|
|
_check_item = datas.get("BAIDU_URL_SUBMIT_LIST", [])[0]
|
|
|
|
print(BaiduUrlSubmit(check_item=_check_item).main())
|