小举人 手册

↑↓ 选择 Enter 打开 Esc 关闭

自动批量检测链接是否能够打开

用脚本批量探测 sitemap 或 CSV 里的链接能不能打开,少点坏链。

约 1 分钟读完
本页目录

#背景

场景:当你接手的一个网站历史悠久,但发现 SEO 权重非常的一般,那有可能是因为坏链太多,导致搜索引擎判断这个网站的站点地图有很多不可靠,最终影响到网站权重。

当你列出了 sitemap 文件后,这里面的链接总不能挨个手动点吧?这时候,你需要一个自动化脚本,能够帮你批量检测网站的链接是否能够打开。

#前置条件

获取网站的 sitemap 文件,里面会列出这个网站的所有链接。当然,你也可以手动导入 csv 文件,格式大概长这样(其实就是包含完整 URLs 的地址):

https://estruturarte.com.br/pickup/F1850555
https://ns.hashva.com/mah.php?wqyaesdppr/sj-371792.html
https://classbclass.ir/content.php?pickup/K1178460
https://forexreprogramming.com/pickup/I1752252
https://eglow.mx/pickup/K1221646

#代码

代码需在 Python 环境下运行。

import csv
import requests
from tqdm import tqdm

urls_file = 'output_10.csv' # 填写你的文件路径
result_file = 'result/output-10-result.csv' # 填写检测结果的存放路径

with open(urls_file, 'r') as f:
    reader = csv.reader(f)
    urls = [row[0] for row in reader]

results = []

for url in tqdm(urls):
    try:
        response = requests.get(url, timeout=5)
        if response.status_code == 200:
            result = 'success'
        else:
            result = 'fail'
    except requests.Timeout:
        result = 'timeout'
    except:
        result = 'error'

    results.append([url, result])

with open(result_file, 'w') as f:
    writer = csv.writer(f)
    writer.writerow(['URL', 'Result'])
    writer.writerows(results)