Использование Python для поиска неработающих ссылок на сайте

Для создания скрипта поиска неработающих ссылок можно воспользоваться библиотекой requests для проверки статуса HTTP-запросов к ссылкам на вашем сайте. Можно также использовать библиотеки для парсинга HTML, чтобы извлечь все ссылки с веб-страниц и затем проверить их доступность.

Пример скрипта может включать в себя обход всех страниц сайта, извлечение ссылок и проверку их статуса. Вот пример кода на Python для этой задачи:

import requests
from bs4 import BeautifulSoup

# Функция для проверки статуса ссылки
def check_link_status(url):
    try:
        response = requests.head(url, allow_redirects=True)
        return response.status_code
    except requests.ConnectionError:
        return "Ссылка не работает"

# Функция для извлечения всех ссылок с веб-страницы
def extract_links_from_page(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    links = [link.get('href') for link in soup.find_all('a')]
    return links

# URL вашего сайта для анализа
site_url = 'ваш_сайт'

# Получение всех ссылок с вашего сайта
all_links = extract_links_from_page(site_url)

# Проверка статуса каждой ссылки
for link in all_links:
    status = check_link_status(link)
    print(f"Ссылка: {link}, Статус: {status}")

Для выгрузки результатов в CSV-файл вам потребуется использовать библиотеку csv в Python. Вот пример модифицированного кода с добавлением выгрузки в CSV:

import requests
from bs4 import BeautifulSoup
import csv

# Функция для проверки статуса ссылки
def check_link_status(url):
    try:
        response = requests.head(url, allow_redirects=True)
        return response.status_code
    except requests.ConnectionError:
        return "Ссылка не работает"

# Функция для извлечения всех ссылок с веб-страницы
def extract_links_from_page(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    links = [link.get('href') for link in soup.find_all('a')]
    return links

# URL вашего сайта для анализа
site_url = 'ваш_сайт'

# Получение всех ссылок с вашего сайта
all_links = extract_links_from_page(site_url)

# Проверка статуса каждой ссылки и запись в CSV
with open('link_status.csv', 'w', newline='', encoding='utf-8') as csvfile:
    fieldnames = ['Ссылка', 'Статус']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    writer.writeheader()
    for link in all_links:
        status = check_link_status(link)
        writer.writerow({'Ссылка': link, 'Статус': status})

Этот код добавляет запись результатов в CSV-файл с использованием библиотеки csv. Каждая строка в файле будет содержать ссылку и ее статус.

Если есть вопросы или предложения по улучшению кода, добро пожаловать в комментарии.