需求背景,因为我们有几千个二级域名站点,需要检测网站是否还能正常访问,
所以使用python进行了一次性的检测!
注意:
1,检测的结果的快慢以及准确性以电脑性能和网络好坏为标准。
准备网站的url,文本文件getbojurl_file.txt
格式内容为(一行一个项目)如
项目 网站url

搜索引擎A    https://www.baidu.com
搜索引擎b    https://www.bing.com

检测代码如下
代码说明需要自己安装多线程threading的包requests的包
output/getbojurl_file.txt 为检测的url列表
output/getbojurlendlock_file.txt 为检测的输出结果

# -*- coding: utf-8 -*-
import threading
import requests
import time

def check_url(url, name, lock):
    try:
        response = requests.get(url, timeout=20)
        status_code = response.status_code
        if status_code >= 400:
            print(name, url, status_code)
            with lock:
                with open('output/getbojurlendlock_file.txt', 'a+', encoding='utf-8') as f:
                    f.write('{}\t{}\t状态码:{}\n'.format(name, url, status_code))
                    f.write('')
    except requests.exceptions.RequestException as e:
        print(name, url, e)
        with lock:
            with open('output/getbojurlendlock_file.txt', 'a+', encoding='utf-8') as f:
                f.write('{}\t{}\t异常状态{}\n'.format(name, url, e))
                f.write('')

with open('output/getbojurl_file.txt', 'r' ,encoding='utf-8') as file:
    lines = file.readlines()
    threads = []
    lock = threading.Lock()
    for line in lines:
        time.sleep(0.5)
        values = line.strip().split()
        url = values[1]
        name = values[0]
        t = threading.Thread(target=check_url, args=(url, name, lock))
        threads.append(t)
        t.start()

    for t in threads:
        t.join()

print('所有URL检测结束!')

Last modification:June 12, 2023
如果觉得我的文章对你有用,请随意赞赏