可克达拉市网站建设_网站建设公司_轮播图_seo优化
2025/12/18 10:30:40 网站建设 项目流程

垃圾网页恶意链接挖掘的 Python 实战

网页链接提取、威胁情报校验(Virustotal API)、恶意链接判定

一、环境准备

首先安装依赖库:

pip install requests beautifulsoup4 python-dotenv # 核心依赖

二、核心代码实现

1. 配置项与工具函数(防恶意脚本、链接清洗)
import re import requests from bs4 import BeautifulSoup from dotenv import load_dotenv import os # 加载环境变量(存储Virustotal API Key等敏感信息) load_dotenv() # 禁用requests的SSL警告(部分垃圾网页证书无效) requests.packages.urllib3.disable_warnings() def clean_link(link: str, base_url: str) -> str: """ 清洗链接:处理相对路径、去除锚点、补全域名 :param link: 原始链接 :param base_url: 网页基础URL(用于补全相对路径) :return: 标准化的绝对链接 """ if not link: return "" # 去除锚点(如https://example.com#abc → https://example.com) link = re.sub(r'#.*$', '', link) # 处理相对路径(使用requests的urljoin,需先构造base_url) try: from urllib.parse import urljoin absolute_link = urljoin(base_url, link) # 仅保留http/https协议的链接(过滤javascript:、mailto:等) if absolute_link.startswith(('http://', 'https://')): return absolute_link return "" except Exception: return "" def is_malicious_content(response: requests.Response) -> bool: """ 简单判断响应内容是否包含恶意特征(可扩展) :param response: 网页响应对象 :return: 是否为恶意内容 """ # 特征1:包含恶意文件后缀(.exe、.dll、.bat等) malicious_suffix = r'\.(exe|dll|bat|cmd|scr|pif|vbs|jsx?)$' if re.search(malicious_suffix, response.url, re.IGNORECASE): return True # 特征2:响应内容包含恶意关键词(可根据威胁情报扩展) malicious_keywords = [

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询