文章目录

百度分享链接可用性批量检查

行云流水
2022-08-12 / 2 评论 / 109 阅读 / 正在检测是否收录...

前言

前一段时间收集了一些百度分享的资源,在整理的过程中过发现好多都失效了。写一个模块,自动检查是否可用。不可用的打一个标记,然后就不处理了。

相关文章: wordpress直接通过数据库导出文章标题、分类信息到xls表格

实现

class ResourceAdmin(admin.ModelAdmin):
    """
    管理类
    """
    ...
    #自定义动作
    actions = ['check_url']

    def check_url(self, request, queryset):
        """
        检查分享链接有效性,并更新状态
        """
        for obj in queryset:
            tmp_li = obj.rurl.split('"')
            if len(tmp_li) > 11:
                if not check_url_available(tmp_li[7]):
                    obj.rstatus = 2
                    obj.save()

    ...

import re
import time
import random
from feapder import Request

def check_url_available(link):
    """
    检查百度分享是否失效
    """
    if not re.match(r'^https?:/{2}\w.+$', link):
        return False

    res = Request(link, render=False).get_response()

    count = 0
    for k in res.bs4().find_all('div', class_='share-error-left'):
        count += 1

    if count > 0:
        return False

    time.sleep(random.randint(1, 5))
    return True

评论 (2)

取消
只有登录/注册用户才可评论