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

it不难
2022-08-12 / 0 评论 / 9 阅读 / 正在检测是否收录...

前言

相关文章: 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
0

评论 (0)

取消