diff --git a/djangoblog/spider_notify.py b/djangoblog/spider_notify.py index 7b909e96..c8f9f8c1 100644 --- a/djangoblog/spider_notify.py +++ b/djangoblog/spider_notify.py @@ -3,19 +3,43 @@ import logging import requests from django.conf import settings +# 创建当前模块的日志记录器,用于记录通知相关的日志信息 logger = logging.getLogger(__name__) class SpiderNotify(): + """ + 搜索引擎爬虫通知类 + 用于向搜索引擎(目前支持百度)提交网站URL,告知内容更新,便于爬虫抓取 + """ + @staticmethod def baidu_notify(urls): + """ + 向百度搜索引擎提交URL的静态方法 + 通过百度链接提交通知接口,告知百度新增/更新的页面URL + + Args: + urls (list): 需要提交的URL列表,每个元素为完整的页面URL字符串 + """ try: + # 将URL列表用换行符拼接,符合百度接口的数据格式要求 data = '\n'.join(urls) + # 向百度通知接口发送POST请求,提交URL数据 result = requests.post(settings.BAIDU_NOTIFY_URL, data=data) + # 记录接口返回的响应信息(日志级别:INFO) logger.info(result.text) except Exception as e: + # 捕获所有异常并记录错误信息(日志级别:ERROR) logger.error(e) @staticmethod def notify(url): - SpiderNotify.baidu_notify(url) + """ + 通用通知入口静态方法 + 统一调用百度通知方法,便于后续扩展支持其他搜索引擎 + + Args: + url (list): 需要提交的URL列表,与baidu_notify方法的urls参数格式一致 + """ + SpiderNotify.baidu_notify(url) \ No newline at end of file