Python与MySQL中URL前缀替换操作总结

学习笔记作者:admin日期:2025-09-01点击:4

摘要:本文介绍了如何在Python和MySQL中将特定URL前缀'https://dj.3v.hk/url.php?url='替换为空字符串,以提取真实的目标URL。通过直接使用字符串替换和SQL函数,以及结合Python脚本处理更复杂的逻辑,确保数据的准确性和安全性。

1. Python中替换URL前缀

      在Python中,可以使用 str.replace() 方法将特定的URL前缀替换为空字符串。以下是一个示例代码:

url = "https://dj.3v.hk/url.php?url=https://example.com"
cleaned_url = url.replace("https://dj.3v.hk/url.php?url=", "")
print(cleaned_url)

      输出结果为:

https://example.com

      如果需要更健壮的方法来处理复杂场景,可以使用 urllib.parse 模块解析URL:

from urllib.parse import urlparse, parse_qs

url = "https://dj.3v.hk/url.php?url=https://example.com"
parsed_url = urlparse(url)
query_params = parse_qs(parsed_url.query)

# 获取 url 参数的值
cleaned_url = query_params.get("url", [""])[0]
print(cleaned_url)

2. MySQL中替换URL前缀

      在MySQL中,可以使用 REPLACE() 函数直接更新表中的字段:

UPDATE qf_source 
SET url = REPLACE(url, 'https://dj.3v.hk/url.php?url=', '') 
WHERE url LIKE 'https://dj.3v.hk/url.php?url=%';

      执行此操作前,请务必先备份表。

      为了安全起见,建议先预览要修改的数据:

SELECT 
    url AS 原始URL,
    REPLACE(url, 'https://dj.3v.hk/url.php?url=', '') AS 清理后URL
FROM qf_source 
WHERE url LIKE 'https://dj.3v.hk/url.php?url=%';

3. 使用Python脚本批量处理

      如果希望更安全地处理(比如解码URL、验证格式等),可以用Python读取数据、处理后再写回数据库:

import mysql.connector
from urllib.parse import unquote

# 数据库连接
conn = mysql.connector.connect(
    host='localhost',
    user='your_user',
    password='your_password',
    database='your_database'
)
cursor = conn.cursor()

# 查询需要处理的记录
cursor.execute("SELECT id, url FROM qf_source WHERE url LIKE 'https://dj.3v.hk/url.php?url=%'")
rows = cursor.fetchall()

for id, url in rows:
    try:
        # 提取真实 URL
        real_url = url.replace('https://dj.3v.hk/url.php?url=', '')
        # 如果是 URL 编码的,还需要解码
        real_url = unquote(real_url)
        
        # 更新数据库
        cursor.execute("UPDATE qf_source SET url = %s WHERE id = %s", (real_url, id))
        print(f"ID={id}: {url} → {real_url}")
    except Exception as e:
        print(f"Error processing ID={id}: {e}")

conn.commit()
cursor.close()
conn.close()

      优点:可处理URL编码、避免误替换、日志清晰。

4. 补充说明

  • 网页提示“即将离开三维短剧”说明这是一个跳转中间页,你的操作是提取真实目标地址,合理且常见。
  • url 字段中可能包含多次出现该字符串,建议使用更精确的正则或只保留第一个匹配。

5. 总结

方法 适用场景 安全性
SQL REPLACE() 简单批量替换 ⚠️ 需备份
SELECT 预览 推荐第一步 ✅ 安全
Python 脚本处理 复杂逻辑、需解码 ✅✅ 最安全

上一篇      下一篇