Update spider_notify.py

pull/10/head
plhw57tbe 4 months ago
parent bce979ce7e
commit 3608f14abe

@ -1,21 +1,43 @@
# 导入日志模块:记录推送过程的成功信息与错误,便于排查问题
import logging
# 导入 HTTP 请求库:用于向百度搜索引擎接口发送 POST 请求
import requests
# 导入 Django 项目配置:获取百度主动推送的接口 URL从 settings.py 读取)
from django.conf import settings
# 初始化日志对象:指定日志归属为当前模块,便于区分不同模块的日志
logger = logging.getLogger(__name__)
# 搜索引擎推送工具类:封装向百度等搜索引擎主动提交页面的逻辑
class SpiderNotify():
@staticmethod
def baidu_notify(urls):
"""
向百度搜索引擎主动推送页面基于百度站长平台的链接提交接口
目的让百度快速发现新页面缩短收录周期提升 SEO 效率
Args:
urls: 待推送的 URL 列表 ['https://xxx.com/article/1/', 'https://xxx.com/article/2/']
"""
try:
# 格式化请求数据:百度接口要求 URL 以换行符(\n分隔拼接成字符串
data = '\n'.join(urls)
# 发送 POST 请求:调用 settings 中配置的百度推送接口 URL
result = requests.post(settings.BAIDU_NOTIFY_URL, data=data)
# 记录推送结果:将百度返回的响应文本(如成功/失败数量)写入日志
logger.info(result.text)
except Exception as e:
# 捕获异常(如网络错误、接口超时等),记录错误信息到日志
logger.error(e)
@staticmethod
def notify(url):
SpiderNotify.baidu_notify(url)
"""
通用推送方法统一入口当前仅调用百度推送可扩展支持其他搜索引擎
Args:
url: 待推送的 URL支持单个 URL URL 列表此处兼容百度推送的列表格式
"""
# 调用百度推送方法,实现页面提交
SpiderNotify.baidu_notify(url)
Loading…
Cancel
Save