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

Для анализа неработающих ссылок на вашем сайте можно использовать скрипты Python.

Использование Python для поиска неработающих ссылок на сайте
Использование Python для поиска неработающих ссылок на сайтеИспользование 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. Каждая строка в файле будет содержать ссылку и ее статус.

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

Подписаться на новости Nerd IT

Не пропустите последние выпуски. Зарегистрируйтесь сейчас, чтобы получить полный доступ к статьям.
jamie@example.com
Подписаться